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

NullPointerException

01.05.2016, 22:23. Показов 498. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не пойму почему налл??
NullPointerException


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
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
 
        View v = inflater.inflate(R.layout.fragment_list, container, false);
        fab = (FloatingActionButton) v.findViewById(R.id.fab);
        listView = (ListView) v.findViewById(R.id.listView);
 
 
        //обработка добавления человека - нажатие на fab
        fab.setOnClickListener(new View.OnClickListener() {
            @Override public void onClick(View v) {
                //TODO добавление!!!
                Toast.makeText(v.getContext(), "Новая запись добавлена", Toast.LENGTH_SHORT).show();
            }
        });
 
        //создание курсора
        try{
            SQLiteOpenHelper databaseHelper = new DatabaseHelper(v.getContext());
            SQLiteDatabase db = databaseHelper.getWritableDatabase();
            Cursor cursor = db.query("PEOPLE", new String[] {"_id", "NAME", "CHECKBOX"}, null, null, null, null, null);
            CursorAdapter listAdapter = new SimpleCursorAdapter(v.getContext(), R.layout.list_item, cursor, new String[]{"NAME", "CHECKBOX"}, new int[]{R.id.name, R.id.checkBox}, 0);
            listView.setAdapter(listAdapter);
            //переход к первой записи в курсоре
            if (cursor.moveToFirst()){
                //получение данных из курсора
                nameText = cursor.getString(1);
                isAvatar = (cursor.getInt(2)==1);
                //заполнение чекбокса, тест имени и аватар
                CheckBox checkBox = (CheckBox) v.findViewById(R.id.checkBox);
                TextView textView = (TextView) v.findViewById(R.id.name);
                ImageView image = (ImageView) v.findViewById(R.id.imageView);
                checkBox.setChecked(isAvatar);
                textView.setText(nameText);
                if (checkBox.isChecked()) {
                    image.setImageResource(R.drawable.avatar);
                } else image.setImageResource(R.drawable.no_avatar);
            }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.05.2016, 22:23
Ответы с готовыми решениями:

NullPointerException
В методе присутствует вот такая конструкция new Thread(new Runnable() { ...

NullPointerException
Помогите разобраться в логе. Не могу понять где вылазит NullPointerException. 08-12 08:40:49.847:...

NullPointerException
Button button = (Button)findViewById(R.id.button); button.setOnClickListener(new...

NullPointerException
Доброго времени суток. Совсем недавно решил занятся разработкой под андроид, но вот на первых...

15
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
01.05.2016, 22:27 2
ну может его как бы и нет в R.layout.fragment_list
0
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
01.05.2016, 22:30  [ТС] 3
vxg, эт верно. он есть в List_item. а как поступить?
0
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
01.05.2016, 23:05 4
goodi_tomsk, очевидно как то обратится к тому месту где он есть. Итем может в фрагменте живёт?
0
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
01.05.2016, 23:09  [ТС] 5
ну да, итем назначается в адаптере ж.

Добавлено через 50 секунд
да я уж по разному пробовал
fab = (FloatingActionButton) getView().findViewById(R.id.fab);
fab = (FloatingActionButton) v.findViewById(R.id.fab);

ListFragment
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
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/rootLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">
 
        <ListView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/listView"
            android:layout_margin="@dimen/activity_vertical_margin"/>
 
    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_add_white_24dp"
        app:layout_anchor="@id/listView"
        app:layout_anchorGravity="bottom|right|end"
        app:elevation="6dp"
        app:pressedTranslationZ="12dp"
        app:backgroundTint="@color/colorAccent"
        app:rippleColor="@color/colorPrimary"/>
</android.support.design.widget.CoordinatorLayout>
List_item
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="?android:attr/activatedBackgroundIndicator">
 
 
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:src="@drawable/no_avatar"/>
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/name"
        android:layout_gravity="top|center_horizontal"
        android:layout_marginLeft="10dp"/>
 
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/checkbox"
        android:id="@+id/checkBox"
        android:clickable="true"
        android:paddingLeft="@dimen/abc_action_bar_overflow_padding_start_material"
        android:singleLine="false"
        android:textAppearance="@color/colorAccent"
        android:layout_gravity="right" />
</LinearLayout>
0
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
01.05.2016, 23:16 6
Могу только по памяти сказать - зачем в методе создающем элемент списка создавать фрагмент? Почему собственно элемент и не создать то?
0
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
01.05.2016, 23:23  [ТС] 7
vxg, не понял
0
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
01.05.2016, 23:41 8
goodi_tomsk, мне почему-то показалось что у вас такой случай: есть список и к нему есть адаптер который кроме всего прочего создаёт view элементов этого списка по заданному layout. В этом случае вы естественным образом имеете доступ к составляющим этого элемента так как вы описали. Мог телепатировать неверно машины под рукой нет, фрагментами не пользовался если что не так простите
0
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
01.05.2016, 23:45  [ТС] 9
Напишу как это всё понимаю я, vxg.
Есть лэйаут 1 с листвью. Есть лэйаут для элемента этого листвью.
Лэйаут 1 с листвью инфлэйтится ))
А лэйаут элемента используется в адаптере, который потом назначается листвью, который содержится в лэйауте 1.
Но вот почему не работает - не знаю.
0
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
01.05.2016, 23:50 10
goodi_tomsk, я в начале так и понял но вы сказали что адаптер надувает не элемент а фрагмент вот я и удивился - зачем ему не надуть элемент? Зачем он дует фрагмент в котором как вы сами знаете нет тех составляющих которые вам нужны?
0
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
01.05.2016, 23:57  [ТС] 11
vxg, а что ж ему дуть? элемент списка?
0
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
02.05.2016, 00:00 12
Всегда именно так и делал. А зачем дуть фрагмент?

Добавлено через 2 минуты
Во всяком случае если фрагмента не просит именно сама суть элемента хз какой он экзотичный может быть ... У меня не просила)
0
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
02.05.2016, 09:15  [ТС] 13
я так и не разобрался в чем ошибка
0
266 / 242 / 96
Регистрация: 11.01.2015
Сообщений: 673
02.05.2016, 10:06 14
goodi_tomsk, не там чекБокс ищется. нужно писать свой адаптер в котором будет инфлейтится разметка пункта списка и уже в этом вью искать чекбокс.
0
266 / 242 / 96
Регистрация: 11.01.2015
Сообщений: 673
02.05.2016, 11:10 15
Кастомизация списка. Создаем свой адаптер.
0
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
02.05.2016, 11:12  [ТС] 16
Mikalai, спасибо. ушел читать
0
02.05.2016, 11:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.05.2016, 11:12
Помогаю со студенческими работами здесь

NullPointerException
Здравствуйте! На строке AutoCompleteTextView textView = (AutoCompleteTextView)...

Proguard и NullPointerException
Задействуйте! Надеюсь кто-то поможет. Проблема такая. В release версии ( с использованием...

Admob NullPointerException
@Override public void onCreate(Bundle savedInstanceState) { ...

Recycle/CardView NullPointerException
(card_view_address)- &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;LinearLayout...


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

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