Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
tolya1095
10 / 7 / 1
Регистрация: 12.10.2012
Сообщений: 158
1

Использование ListView заканчивается падением приложения

20.02.2014, 22:34. Просмотров 622. Ответов 6
Метки нет (Все метки)

Все заканчивается крэшем. Можно ли так использовать ListView? Чувствую себя каким-то садистом
XML
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
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >
 
    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
 
        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
 
            <LinearLayout
                android:id="@+id/tr1ll1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical" >
 
            </LinearLayout>
 
            <LinearLayout
                android:id="@+id/tr1ll2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical" >
 
            </LinearLayout>
 
            <LinearLayout
                android:id="@+id/tr1ll3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical" >
 
            </LinearLayout>
        </TableRow>
 
        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
 
            <LinearLayout
                android:id="@+id/tr2ll1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical" >
 
            </LinearLayout>
 
            <LinearLayout
                android:id="@+id/tr2ll2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical" >
 
            </LinearLayout>
 
            <LinearLayout
                android:id="@+id/tr2ll3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical" >
 
            </LinearLayout>
 
        </TableRow>
    </TableLayout>
 
</LinearLayout>
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
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.ListView;
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        LinearLayout tr1ll1 = (LinearLayout) findViewById(R.id.tr1ll1);
        LinearLayout tr1ll2 = (LinearLayout) findViewById(R.id.tr1ll2);
        LinearLayout tr1ll3 = (LinearLayout) findViewById(R.id.tr1ll3);
        LinearLayout tr2ll1 = (LinearLayout) findViewById(R.id.tr2ll1);
        LinearLayout tr2ll2 = (LinearLayout) findViewById(R.id.tr2ll2);
        LinearLayout tr2ll3 = (LinearLayout) findViewById(R.id.tr2ll3);
        
        ListView[] lview = new ListView[6];
        
        final String[] names = new String[] {
                "Top", "Mid", "Down"            
            };
        
        tr1ll1.addView(lview[0]);
        tr1ll2.addView(lview[1]);
        tr1ll3.addView(lview[2]);
        tr2ll1.addView(lview[3]);
        tr2ll2.addView(lview[4]);
        tr2ll3.addView(lview[5]);
        
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, names);
        lview[0].setAdapter(adapter);
        lview[1].setAdapter(adapter);
        lview[2].setAdapter(adapter);
        lview[3].setAdapter(adapter);
        lview[4].setAdapter(adapter);
        lview[5].setAdapter(adapter);
        
    }
    
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2014, 22:34
Ответы с готовыми решениями:

Использование ListView в ListView
Всем привет. Можете показать как использовать ListView в ListView, с...

Кастомизация ListView и использование Sticky Header
Использую библиотеку https://github.com/beworker/pinned-section-listview И...

Вылет приложения про создании Custom ListView
Главная Activity import android.app.AlertDialog; import...

Фон приложения (использование nine9patch)
Понимаю что скорей всего этого уже спрашивали.. но будьте добры, подскажите...

ListView. После добавления кнопки перестал быть доступен сам ListView
Кастомизировал ListView с помощью нескольких TextView. Но после того, как...

6
dr_yand
157 / 138 / 15
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
21.02.2014, 00:28 2
Ошибка NullPointerException?
0
tolya1095
10 / 7 / 1
Регистрация: 12.10.2012
Сообщений: 158
21.02.2014, 06:26  [ТС] 3
LogCat
Кликните здесь для просмотра всего текста
02-21 02:24:23.698: D/AndroidRuntime(361): Shutting down VM
02-21 02:24:23.698: W/dalvikvm(361): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
02-21 02:24:23.718: E/AndroidRuntime(361): FATAL EXCEPTION: main
02-21 02:24:23.718: E/AndroidRuntime(361): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.table_test/com.example.table_test.MainActivity}: java.lang.NullPointerException
02-21 02:24:23.718: E/AndroidRuntime(361): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
02-21 02:24:23.718: E/AndroidRuntime(361): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
02-21 02:24:23.718: E/AndroidRuntime(361): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
02-21 02:24:23.718: E/AndroidRuntime(361): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
02-21 02:24:23.718: E/AndroidRuntime(361): at android.os.Handler.dispatchMessage(Handler.java:99)
02-21 02:24:23.718: E/AndroidRuntime(361): at android.os.Looper.loop(Looper.java:123)
02-21 02:24:23.718: E/AndroidRuntime(361): at android.app.ActivityThread.main(ActivityThread.java:4627)
02-21 02:24:23.718: E/AndroidRuntime(361): at java.lang.reflect.Method.invokeNative(Native Method)
02-21 02:24:23.718: E/AndroidRuntime(361): at java.lang.reflect.Method.invoke(Method.java:521)
02-21 02:24:23.718: E/AndroidRuntime(361): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-21 02:24:23.718: E/AndroidRuntime(361): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-21 02:24:23.718: E/AndroidRuntime(361): at dalvik.system.NativeStart.main(Native Method)
02-21 02:24:23.718: E/AndroidRuntime(361): Caused by: java.lang.NullPointerException
02-21 02:24:23.718: E/AndroidRuntime(361): at android.view.ViewGroup.addView(ViewGroup.java:1815)
02-21 02:24:23.718: E/AndroidRuntime(361): at android.view.ViewGroup.addView(ViewGroup.java:1802)
02-21 02:24:23.718: E/AndroidRuntime(361): at com.example.table_test.MainActivity.onCreate(MainActivity.java:29)
02-21 02:24:23.718: E/AndroidRuntime(361): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-21 02:24:23.718: E/AndroidRuntime(361): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
02-21 02:24:23.718: E/AndroidRuntime(361): ... 11 more


Console
Кликните здесь для просмотра всего текста
[2014-02-21 08:23:57 - table_test] ------------------------------
[2014-02-21 08:23:57 - table_test] Android Launch!
[2014-02-21 08:23:57 - table_test] adb is running normally.
[2014-02-21 08:23:57 - table_test] Performing com.example.table_test.MainActivity activity launch
[2014-02-21 08:24:02 - table_test] Application already deployed. No need to reinstall.
[2014-02-21 08:24:02 - table_test] Starting activity com.example.table_test.MainActivity on device emulator-5554
[2014-02-21 08:24:03 - table_test] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.table_test/.MainActivity }
[2014-02-21 08:24:08 - table_test] ------------------------------
[2014-02-21 08:24:08 - table_test] Android Launch!
[2014-02-21 08:24:08 - table_test] adb is running normally.
[2014-02-21 08:24:08 - table_test] Performing com.example.table_test.MainActivity activity launch
[2014-02-21 08:24:10 - table_test] Application already deployed. No need to reinstall.
[2014-02-21 08:24:10 - table_test] Starting activity com.example.table_test.MainActivity on device emulator-5554
[2014-02-21 08:24:12 - table_test] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.table_test/.MainActivity }
[2014-02-21 08:24:19 - table_test] ------------------------------
[2014-02-21 08:24:19 - table_test] Android Launch!
[2014-02-21 08:24:19 - table_test] adb is running normally.
[2014-02-21 08:24:19 - table_test] Performing com.example.table_test.MainActivity activity launch
[2014-02-21 08:24:21 - table_test] Application already deployed. No need to reinstall.
[2014-02-21 08:24:21 - table_test] Starting activity com.example.table_test.MainActivity on device emulator-5554
[2014-02-21 08:24:23 - table_test] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.table_test/.MainActivity }
0
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
21.02.2014, 10:17 4
Лучший ответ Сообщение было отмечено tolya1095 как решение

Решение

Цитата Сообщение от tolya1095 Посмотреть сообщение
Все заканчивается крэшем.
Вот эта строчка
Java
1
ListView[] lview = new ListView[6];
создает массив из шести элементов каждый из которых - null. Массив надо сначала заполнить прежде чем с ним работать.
1
tolya1095
10 / 7 / 1
Регистрация: 12.10.2012
Сообщений: 158
21.02.2014, 12:12  [ТС] 5
В вашем ответе есть логика, но я не понимаю. Создаю listview. Присваиваю listview к tablerow. Дальше расписываю адаптер. Адаптер присваиваю к listview. Т.е. в тот момент, когда я присвоил адаптер к listview, listview должен был заполниться?
0
verylazy
Заблокирован
21.02.2014, 12:25 6
Лучший ответ Сообщение было отмечено tolya1095 как решение

Решение

angryrobot, правильно говорит, вот в этих строках ниже получается, что вы пытаетесь добавить какие-то листвью из массива
массив объявлен, а где же сами листвью? их пока что нет, не созданы, вместо них в массиве записаны null
Java
1
2
3
4
5
6
tr1ll1.addView(lview[0]);
tr1ll2.addView(lview[1]);
tr1ll3.addView(lview[2]);
tr2ll1.addView(lview[3]);
tr2ll2.addView(lview[4]);
tr2ll3.addView(lview[5]);
не уверен, что получится, нет под рукой IDE что бы проверить, но можно добавить пару строк и посмотреть что будет
Java
1
2
3
4
ListView[] lview = new ListView[6];
for (int i = 0; i < lview.length; i++) {
    lview[i] = new ListView(this);
}
1
tolya1095
10 / 7 / 1
Регистрация: 12.10.2012
Сообщений: 158
21.02.2014, 15:43  [ТС] 7
Спасибо. Полчаса назад вспомнил, но не смог отписать. Доберусь до ПК - попробую. Должно сработать

Добавлено через 1 час 34 минуты

Не по теме:

Всем спасибо. Сработало. :)

0
21.02.2014, 15:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2014, 15:43

Listview вывод данных и переход по нажатию на другой Listview SQLite
Доброго извините за название темы, долго не мог сформировать название, В общем...

Передача данных из ListView в другой Activity в ListView
Добрый день. Пытаюсь разобраться с передачей данных с ListView, но выходит что...

Данные из SQlite в ListView, обработка события ListView
Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru