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

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

Войти
Регистрация
Восстановить пароль
 
 
goodi_tomsk
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
#1

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

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

Не пойму почему налл??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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2016, 22:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос NullPointerException (Программирование Android):

NullPointerException - Программирование Android
В методе присутствует вот такая конструкция new Thread(new Runnable() { @Override public void run() { ...

NullPointerException - Программирование Android
Здравствуйте! На строке AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1); выдает...

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

NullPointerException - Программирование Android
Помогите разобраться в логе. Не могу понять где вылазит NullPointerException. 08-12 08:40:49.847: E/AndroidRuntime(858): FATAL...

NullPointerException - Программирование Android
Button button = (Button)findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override ...

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

15
vxg
Модератор
3172 / 1975 / 222
Регистрация: 13.01.2012
Сообщений: 7,604
01.05.2016, 22:27 #2
ну может его как бы и нет в R.layout.fragment_list
0
goodi_tomsk
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
01.05.2016, 22:30  [ТС] #3
vxg, эт верно. он есть в List_item. а как поступить?
0
vxg
Модератор
3172 / 1975 / 222
Регистрация: 13.01.2012
Сообщений: 7,604
01.05.2016, 23:05 #4
goodi_tomsk, очевидно как то обратится к тому месту где он есть. Итем может в фрагменте живёт?
0
goodi_tomsk
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
vxg
Модератор
3172 / 1975 / 222
Регистрация: 13.01.2012
Сообщений: 7,604
01.05.2016, 23:16 #6
Могу только по памяти сказать - зачем в методе создающем элемент списка создавать фрагмент? Почему собственно элемент и не создать то?
0
goodi_tomsk
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
01.05.2016, 23:23  [ТС] #7
vxg, не понял
0
vxg
Модератор
3172 / 1975 / 222
Регистрация: 13.01.2012
Сообщений: 7,604
01.05.2016, 23:41 #8
goodi_tomsk, мне почему-то показалось что у вас такой случай: есть список и к нему есть адаптер который кроме всего прочего создаёт view элементов этого списка по заданному layout. В этом случае вы естественным образом имеете доступ к составляющим этого элемента так как вы описали. Мог телепатировать неверно машины под рукой нет, фрагментами не пользовался если что не так простите
0
goodi_tomsk
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
01.05.2016, 23:45  [ТС] #9
Напишу как это всё понимаю я, vxg.
Есть лэйаут 1 с листвью. Есть лэйаут для элемента этого листвью.
Лэйаут 1 с листвью инфлэйтится ))
А лэйаут элемента используется в адаптере, который потом назначается листвью, который содержится в лэйауте 1.
Но вот почему не работает - не знаю.
0
vxg
Модератор
3172 / 1975 / 222
Регистрация: 13.01.2012
Сообщений: 7,604
01.05.2016, 23:50 #10
goodi_tomsk, я в начале так и понял но вы сказали что адаптер надувает не элемент а фрагмент вот я и удивился - зачем ему не надуть элемент? Зачем он дует фрагмент в котором как вы сами знаете нет тех составляющих которые вам нужны?
0
goodi_tomsk
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
01.05.2016, 23:57  [ТС] #11
vxg, а что ж ему дуть? элемент списка?
0
vxg
Модератор
3172 / 1975 / 222
Регистрация: 13.01.2012
Сообщений: 7,604
02.05.2016, 00:00 #12
Всегда именно так и делал. А зачем дуть фрагмент?

Добавлено через 2 минуты
Во всяком случае если фрагмента не просит именно сама суть элемента хз какой он экзотичный может быть ... У меня не просила)
0
goodi_tomsk
4 / 1 / 0
Регистрация: 12.05.2015
Сообщений: 84
02.05.2016, 09:15  [ТС] #13
я так и не разобрался в чем ошибка
0
Mikalai
259 / 235 / 95
Регистрация: 11.01.2015
Сообщений: 662
02.05.2016, 10:06 #14
goodi_tomsk, не там чекБокс ищется. нужно писать свой адаптер в котором будет инфлейтится разметка пункта списка и уже в этом вью искать чекбокс.
0
Mikalai
259 / 235 / 95
Регистрация: 11.01.2015
Сообщений: 662
02.05.2016, 11:10 #15
Кастомизация списка. Создаем свой адаптер.
0
02.05.2016, 11:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2016, 11:10
Привет! Вот еще темы с ответами:

Admob NullPointerException - Программирование Android
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Capture...

Unboxing of may produce NullPointerException - Программирование Android
Здравствуйте, сегодня столкнулся с незнанием, как поступить в данной ситуации. Сегодня не трогал ту часть кода, которая отвечает за данные,...

NullPointerException в дополнительной активности - Программирование Android
Доброй ночи. Постараюсь сразу изложить проблему. Есть код, который через php-прослойку, по ссылке, получает данные из mysql БД, через...

Recycle/CardView NullPointerException - Программирование Android
(card_view_address)- &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; ...


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

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

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