Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
tolya1095
10 / 7 / 1
Регистрация: 12.10.2012
Сообщений: 158
20.02.2014, 22:34     Использование ListView заканчивается падением приложения #1
Все заканчивается крэшем. Можно ли так использовать 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);
        
    }
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2014, 22:34     Использование ListView заканчивается падением приложения
Посмотрите здесь:

Android Scroll Listview
Разбиение ListView Android
Android Работа с ListView
Android C JSON в ListView
Вывод в ListView Android
Android События ListView
Scroll listview Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dr_yand
 Аватар для dr_yand
156 / 138 / 6
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
21.02.2014, 00:28     Использование ListView заканчивается падением приложения #2
Ошибка NullPointerException?
tolya1095
10 / 7 / 1
Регистрация: 12.10.2012
Сообщений: 158
21.02.2014, 06:26  [ТС]     Использование ListView заканчивается падением приложения #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 }
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
21.02.2014, 10:17     Использование ListView заканчивается падением приложения #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от tolya1095 Посмотреть сообщение
Все заканчивается крэшем.
Вот эта строчка
Java
1
ListView[] lview = new ListView[6];
создает массив из шести элементов каждый из которых - null. Массив надо сначала заполнить прежде чем с ним работать.
tolya1095
10 / 7 / 1
Регистрация: 12.10.2012
Сообщений: 158
21.02.2014, 12:12  [ТС]     Использование ListView заканчивается падением приложения #5
В вашем ответе есть логика, но я не понимаю. Создаю listview. Присваиваю listview к tablerow. Дальше расписываю адаптер. Адаптер присваиваю к listview. Т.е. в тот момент, когда я присвоил адаптер к listview, listview должен был заполниться?
verylazy
Заблокирован
21.02.2014, 12:25     Использование ListView заканчивается падением приложения #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2014, 15:43     Использование ListView заканчивается падением приложения
Еще ссылки по теме:

Кастомизация ListView и использование Sticky Header Android
Android Фон приложения (использование nine9patch)
Android Траблы с ListView
Android При загрузке большого количества картинок библиотекой Picasso заканчивается память
Android Сортировка в listview

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

Или воспользуйтесь поиском по форуму:
tolya1095
10 / 7 / 1
Регистрация: 12.10.2012
Сообщений: 158
21.02.2014, 15:43  [ТС]     Использование ListView заканчивается падением приложения #7
Спасибо. Полчаса назад вспомнил, но не смог отписать. Доберусь до ПК - попробую. Должно сработать

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

Не по теме:

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

Yandex
Объявления
21.02.2014, 15:43     Использование ListView заканчивается падением приложения
Ответ Создать тему
Опции темы

Текущее время: 05:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru