Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1 / 1 / 0
Регистрация: 28.06.2016
Сообщений: 22

Ошибка on a null object reference

17.12.2016, 22:05. Показов 2083. Ответов 1

Студворк — интернет-сервис помощи студентам
Появляется ошибка
Java
1
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.widget.LinearLayout.findViewById(int)' on a null object reference
Только начинаю пробовать писать под андроид. Понимаю что ссылаюсь на нулевой обьект, но не знаю как исправить.
В RecyclerView по клику на элемент пытаюсь обработать щелчек , задав другому обьекту свойство VISIBLE (код ниже), после щелчка вылетает с этой ошибкой. Испробовал все что знал.

Код адаптера

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
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ItemViewHolder>
        implements ItemTouchHelperAdapter {
 
    private List<File> mItems;
    final String LOG_TAG = "myLogs";
    Context mContext;
    RelativeLayout relativeLayout;
 
    private final OnStartDragListener mDragStartListener;
 
    public RecyclerAdapter(List<File> mImgGson, Context context, OnStartDragListener dragStartListener) {
        mDragStartListener = dragStartListener;
        mItems = mImgGson;
        mContext = context;
    }
 
    @Override
    public ItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item, parent, false);
        ItemViewHolder itemViewHolder = new ItemViewHolder(view);
        relativeLayout = (RelativeLayout)view.findViewById(R.id.layoutFirst);
        Log.i(LOG_TAG, "onCreateViewHolder");
        return itemViewHolder;
    }
 
    @Override
    public void onBindViewHolder(final ItemViewHolder holder, int position) {
        Log.i(LOG_TAG, "onBindViewHolder ");
        Picasso.with(mContext).load(mItems.get(position)).fit().centerCrop().error(R.mipmap.ic_launcher).into(holder.handleView);
        // Start a drag whenever the handle view it touched
        
        holder.handleView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                View trash = relativeLayout.findViewById(R.id.trash_can);
                trash.setVisibility(View.VISIBLE);
            }
        });
    }
Код разметки

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
<RelativeLayout 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"
    android:gravity="center"
    android:id="@+id/layoutFirst"
    tools:context=".MainActivity" >
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center">
        
        <android.support.v7.widget.RecyclerView
            android:id="@+id/my_recycler_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:scaleType="center"
            />
 
    </LinearLayout>
    
    <ImageView
        android:id="@+id/trash_can"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:padding="40dip"
        android:src="@android:mipmap/sym_def_app_icon"
        android:visibility="gone" >
    </ImageView>
 
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button"
        android:layout_gravity="center_horizontal"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:onClick="onClick" />
 
 
</RelativeLayout>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.12.2016, 22:05
Ответы с готовыми решениями:

Ошибка Attempt to invoke virtual method on a null object reference
Здравствуйте, создаю приложение, которое работает с firebase. При отправке сообщения приложение вылетает public class Tab3Activity...

Ошибка Attempt to invoke virtual metho (.) on a null object reference
Пробую добавить анимацию кнопки, при компиляции выдает ошибку &quot;Attempt to invoke virtual method 'void...

Ошибка Attempt to invoke virtual method on a null object reference
Выдает ошибку. Никак не могу понять в чем проблема. Помогите плиз. Лог ошибки: Caused by: java.lang.NullPointerException: Attempt to...

1
266 / 242 / 96
Регистрация: 11.01.2015
Сообщений: 673
17.12.2016, 22:53
evb, ссылки на ВСЕ вьюшки с которыми хочешь взаимодействовать нужно хранить во ViewHolder'е, а не искать их через findViewById и не нужно делать ссылки на вьюшки хранить в полях класса
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.12.2016, 22:53
Помогаю со студенческими работами здесь

При нажатии на кнопку выходит ошибка "Attempting to invoke method on a null object reference"
Доброго дня! Есть вот этот код. При нажатии на кнопку Add выдает Attempting to invoke interface method java.sql.Statement...

On a null object reference
Добрый день! Помогите решить проблему. Ошибка: java.lang.NullPointerException: Attempt to invoke virtual method 'void...

Вызов функции и NULL reference
Итак, в MainActivity описана следующая функция setuFeed(): public class MainActivity extends AppCompatActivity { private...

Программа не выполняет условие (fileInput != null) и выдает Object reference not set to instance of an object
Доброго времени суток, форумчане! Помогите бедному студенту решить вот такую проблему: Программа выдает ошибку на строке создании...

Ошибка [Fault] exception, information=TypeError: Error #1009: Cannot access a property or method of a null object reference
Есть Библиотека fl_package.swc. Среда Flash Develop Код: ... import fl.controls.RadioButton; import...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru