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

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

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

Ошибка on a null object reference - Программирование Android

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

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

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

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

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

Ошибка Value null at rows of type org.json.JSONObject$1 cannot be converted to JSONArray - Программирование Android
public class MainActivity extends Activity { JSONObject jsonobject; JSONArray jsonarray; ListView listview; ...

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

1
Mikalai
261 / 237 / 95
Регистрация: 11.01.2015
Сообщений: 663
17.12.2016, 22:53 #2
evb, ссылки на ВСЕ вьюшки с которыми хочешь взаимодействовать нужно хранить во ViewHolder'е, а не искать их через findViewById и не нужно делать ссылки на вьюшки хранить в полях класса
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2016, 22:53
Привет! Вот еще темы с ответами:

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

Cannot access a property or method of a null object reference - ActionScript
TanaTiX, огромное спасибо! Но есть ещё один вопрос var js = &quot;window.ret = function(){return 1;}&quot;; ExternalInterface.call('eval', js);...

Cannot access a property or method of a null object reference для TextField в классе - ActionScript
private var text_dialog:MovieClip; text_dialog = new bg_dialog(); text_dialog.x = 0; text_dialog.y = - 200; ...

Ошибка времени выполнения: Object reference not set to an instance of an object - PascalABC.NET
Есть код - в TP он нормально проходит компиляцию, а вот в PABC.net выдает ошибку - видимо я не понимаю каких то нюансов в различии TP и...


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

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

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