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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
LabXtwO
0 / 0 / 0
Регистрация: 06.12.2015
Сообщений: 11
#1

Ошибка запуска ListView - Программирование Android

06.12.2015, 16:38. Просмотров 159. Ответов 3
Метки нет (Все метки)

Добрый день.
Создаю новый стандартный проект, удаляю в папке res/layout файл activity_main.xml. Создаю массив строк. Подключаю адаптер. Список готов.




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
package com.twoxlab.newtest;
 
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
 
public class MainActivity extends ListActivity {
 
 
    final String[]ZagNamesArray = new String[] { "ТЕСТ1", "ТЕСТ2", "ТЕСТ3",
            "ТЕСТ4", "ТЕСТ5"};
 
 
    private ArrayAdapter<String> mAdapter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        mAdapter = new ArrayAdapter<>(this,
                android.R.layout.simple_list_item_1, ZagNamesArray);
        setListAdapter(mAdapter);
    }
}

Т.к. в прилажении зачастую бывает много строк в списке, и мы учимся писать сразу правильно, "убираем" значения в файл res/values/strings.xml


Java
1
2
3
4
5
6
7
<string-array name="zag_names">
    <item>ТЕСТ1</item>
    <item>ТЕСТ2</item>
    <item>ТЕСТ3</item>
    <item>ТЕСТ4</item>
    <item>ТЕСТ5</item>
</string-array>

Меняю код массива строк. Запускаю. Ошибка.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.twoxlab.newtest;
 
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
 
public class MainActivity extends ListActivity {
 
 
    final String[] ZagNamesArray = getResources().getStringArray(R.array.zag_names);
 
 
    private ArrayAdapter<String> mAdapter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        mAdapter = new ArrayAdapter<>(this,
                android.R.layout.simple_list_item_1, ZagNamesArray);
        setListAdapter(mAdapter);
    }
}
0
Миниатюры
Ошибка запуска ListView   Ошибка запуска ListView  
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2015, 16:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка запуска ListView (Программирование Android):

Ошибка с формированием ListView - Программирование Android
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? ПРоблема в том, что при переоде между активити возникает ошибка и...

ListView ошибка при прокручивании - Программирование Android
Читаю с json файла данные и добавляю их в ListView, первые 5 отображаются, а когда начинаю прокручивать вниз он выбивает ошибку. ...

Ошибка добавления списка контактов в ListView - Программирование Android
Задача состоит в том, чтоб считать список контактов и отобразить из при помощи ListView. Я на одном слое нажимаю кнопку, и список...

Ошибка при выборе Item в ListView - Программирование Android
Здравствуйте уважаемые форумчане. Не могу определить где ошибся. У меня есть ListView где несколько Item-ов при клике на любой из них...

Ошибка при инициализации ListView в ViewPager - Программирование Android
Всем доброго времени суток. Столкнулся с проблемой, в простом примере создания ViewPager, все работает до тех пор, пока не инициализирую...

Ошибка The content of the adapter has changed but ListView did not receive a notification - Программирование Android
Прошу помощи, т.к. уже не знаю, что делать. Наверное нахватает знаний. На одном единственном телефоне постоянно вылетает ошибка Я...

3
LabXtwO
0 / 0 / 0
Регистрация: 06.12.2015
Сообщений: 11
06.12.2015, 16:55  [ТС] #2
Лог ошибки запуска:


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
12-06 16:52:00.909 23870-23870/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   Process: com.twoxlab.newtest, PID: 23870
                                                   java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.twoxlab.newtest/com.twoxlab.newtest.MainActivity}: java.lang.NullPointerException
                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470)
                                                       at android.app.ActivityThread.access$900(ActivityThread.java:174)
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1307)
                                                       at android.os.Handler.dispatchMessage(Handler.java:102)
                                                       at android.os.Looper.loop(Looper.java:146)
                                                       at android.app.ActivityThread.main(ActivityThread.java:5593)
                                                       at java.lang.reflect.Method.invokeNative(Native Method)
                                                       at java.lang.reflect.Method.invoke(Method.java:515)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
                                                       at dalvik.system.NativeStart.main(Native Method)
                                                    Caused by: java.lang.NullPointerException
                                                       at android.content.ContextWrapper.getResources(ContextWrapper.java:94)
                                                       at android.view.ContextThemeWrapper.getResources(ContextThemeWrapper.java:78)
                                                       at com.twoxlab.newtest.MainActivity.<init>(MainActivity.java:10)
                                                       at java.lang.Class.newInstanceImpl(Native Method)
                                                       at java.lang.Class.newInstance(Class.java:1208)
                                                       at android.app.Instrumentation.newActivity(Instrumentation.java:1067)
                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2296)
                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470)*
                                                       at android.app.ActivityThread.access$900(ActivityThread.java:174)*
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1307)*
                                                       at android.os.Handler.dispatchMessage(Handler.java:102)*
                                                       at android.os.Looper.loop(Looper.java:146)*
                                                       at android.app.ActivityThread.main(ActivityThread.java:5593)*
                                                       at java.lang.reflect.Method.invokeNative(Native Method)*
                                                       at java.lang.reflect.Method.invoke(Method.java:515)*
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)*
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)*
                                                       at dalvik.system.NativeStart.main(Native Method)*
0
androbro
326 / 286 / 60
Регистрация: 17.10.2014
Сообщений: 845
07.12.2015, 10:23 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
LabXtwO, Перенесите инициализацию массива в onCreate
Java
1
2
3
4
5
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        zagNamesArray = getResources().getStringArray(R.array.zag_names);
        ...
Да и переменные в Java рекомендуется со строчной буквы начинать
1
LabXtwO
0 / 0 / 0
Регистрация: 06.12.2015
Сообщений: 11
07.12.2015, 11:39  [ТС] #4
androbro, Спасибо! Я только учусь) на счет переменных в Java не знал, урок усвоил, еще раз СПАСИБО)

Тема закрыта
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2015, 11:39
Привет! Вот еще темы с ответами:

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

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

Данные из SQlite в ListView, обработка события ListView - Программирование Android
Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные int из БД. mList.setOnItemClickListener(new...

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton? - Программирование Android
Добрый день. Затрудняюсь понять один момент: У меня есть ListView, который заполнен Items. Каждый Item - это свой XML. Пока...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
07.12.2015, 11:39
Ответ Создать тему
Опции темы

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