Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 3
Регистрация: 09.11.2014
Сообщений: 64
1

Нужно найти ошибку в несложном проекте

15.12.2016, 01:14. Показов 380. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При нажатии на кнопку "Добавить запись" должна добавляться запись "some text" + число. При нажатии на запись, должно выскакивать меню удаления. Но почему-то сразу оба layout-а появляются, как я понимаю. Потому что при нажатии на кнопку ничего не происходит, и изначально нет записей никаких.
Вот файл AndroidManifest.xml:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.zver.app1">
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
 
</manifest>
Вот файл MainActivity.java:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package com.example.zver.app1;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.ListView;
import android.widget.SimpleAdapter;
 
public class MainActivity extends Activity {
 
    private static final int CM_DELETE_ID = 1;
 
    // имена атрибутов для Map
    final String ATTRIBUTE_NAME_TEXT = "text";
    final String ATTRIBUTE_NAME_IMAGE = "image";
 
    ListView lvSimple;
    SimpleAdapter sAdapter;
    ArrayList<Map<String, Object>> data;
    Map<String, Object> m;
 
    /**
     * Called when the activity is first created.
     */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        // упаковываем данные в понятную для адаптера структуру
        data = new ArrayList<Map<String, Object>>();
        for (int i = 1; i < 5; i++) {
            m = new HashMap<String, Object>();
            m.put(ATTRIBUTE_NAME_TEXT, "sometext " + i);
            m.put(ATTRIBUTE_NAME_IMAGE, R.drawable.ic_launcher);
            data.add(m);
        }
 
        // массив имен атрибутов, из которых будут читаться данные
        String[] from = {ATTRIBUTE_NAME_TEXT, ATTRIBUTE_NAME_IMAGE};
        // массив ID View-компонентов, в которые будут вставлять данные
        int[] to = {R.id.tvText, R.id.ivImg};
 
        // создаем адаптер
        sAdapter = new SimpleAdapter(this, data, R.layout.item, from, to);
 
        // определяем список и присваиваем ему адаптер
        lvSimple = (ListView) findViewById(R.id.lvSimple);
        lvSimple.setAdapter(sAdapter);
        registerForContextMenu(lvSimple);
    }
 
    public void onButtonClick(View v) {
        // создаем новый Map
        m = new HashMap<String, Object>();
        m.put(ATTRIBUTE_NAME_TEXT, "sometext " + (data.size() + 1));
       // m.put(ATTRIBUTE_NAME_IMAGE, R.drawable.ic_launcher);
        // добавляем его в коллекцию
        data.add(m);
        // уведомляем, что данные изменились
        sAdapter.notifyDataSetChanged();
    }
 
    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
                                    ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, CM_DELETE_ID, 0, "Удалить запись");
    }
 
    @Override
    public boolean onContextItemSelected(MenuItem item) {
        if (item.getItemId() == CM_DELETE_ID) {
            // получаем инфу о пункте списка
            AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) item.getMenuInfo();
            // удаляем Map из коллекции, используя позицию пункта в списке
            data.remove(acmi.position);
            // уведомляем, что данные изменились
            sAdapter.notifyDataSetChanged();
            return true;
        }
        return super.onContextItemSelected(item);
    }
}
activity_main.xml:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onButtonClick"
        android:text="Добавить запись">
    </Button>
    <ListView
        android:id="@+id/lvSimple"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="#7FFF0000">
    </ListView>
</LinearLayout>
item.xml:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <ImageView
        android:id="@+id/ivImg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher">
    </ImageView>
    <TextView
        android:id="@+id/tvText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="10dp"
        android:text=""
        android:textSize="18sp"
        android:textColor="#7FFF0000">
    </TextView>
</LinearLayout>
Что не так? Возможно чего-то нету в манифесте?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2016, 01:14
Ответы с готовыми решениями:

Нужно найти ошибку в проекте
Исходника не было и мне пришлось код по частям переносить из ворда в делфи.Может кто-то сможет...

Найти ошибку в проекте.Расчет методом Зейделя, прогонки, итераций
Делаю проект, (код и сам проект ниже.) но ответ на графике метода Зейделя, не сходится с графиком...

Найти ошибку в проекте, возможно, как-то связанную с работой OpenFileDialog
У меня возникла проблема с OpenFileDialog. Когда писал исходный код, ошибок не было, когда...

Игра "Реверси" найти ошибку в проекте
Всем привет. Имеется игра реверси на делфи. Может ли кто помочь найти ошибку в игре или подсказать...

2
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
15.12.2016, 12:08 2
Цитата Сообщение от Kris_ Посмотреть сообщение
Но почему-то сразу оба layout-а появляются
какие ОБА?
0
1 / 1 / 3
Регистрация: 09.11.2014
Сообщений: 64
15.12.2016, 12:33  [ТС] 3
item.xml i activity_main.xml
Не знаю, может не в этом ошибка.
Просто скажите что не так в коде.
0
15.12.2016, 12:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2016, 12:33
Помогаю со студенческими работами здесь

Найти расстояние от точки до отрезка - нужно найти маленькую ошибку
Собственно, условие задачи дано в заголовке. Я искал на форуме и нашёл сразу несколько тем, где...

Нужно найти ошибку в задании: Найти сумму n первых натуральных четных чисел
Найти сумму n первых натуральных четных чисел

Нужно найти ошибку
Подскажите,где здесь ошибки? &lt;?php $username=’mylogin’; $pwd=’mypassword’; ?&gt; &lt;?php if … else {...

Нужно найти ошибку Ln(x+1)
Помогите найти ошибку program la do x=-1,1 s=x a=x do n=1,10 a=a*(-n)/(n+1)*x end laсама...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru