Android приложение продолжает выдавать java NullPointerException и вылетает - PullRequest
0 голосов
/ 04 апреля 2020

AM newb ie to android разработка У меня есть представление переработчика на одном из моих фрагментов, когда я добавляю к нему элементы, проблема возникает, когда я пытаюсь добавить итезм из другого фрагмента, который он выдает java .lang .NullPointerException: попытка вызвать виртуальный метод 'void androidx.recyclerview.widget.RecyclerView.setHasFixedSize (boolean)' для ссылки на пустой объект

Вот моя функция для добавления элементов к нему

public void fillNotification(int mImage, String mtext, String mtext2, String mDate, Activity activity)
    {
        RecyclerView mRecyclerView = activity.findViewById (R.id.notificationsRecycler);
        mRecyclerView.setHasFixedSize(true);
        mLayoutManager = new LinearLayoutManager (getContext ());
        mAdapter = new NotificationAdapter (notimodels);
        mRecyclerView.setLayoutManager(mLayoutManager);
        mRecyclerView.setAdapter(mAdapter);
        notimodels.add (0,new NotificationModel (mImage,mtext,mtext2,mDate));
    }

при доступе к нему извне фрагмента

 notimodels = new ArrayList<> ();
                                    NotificationFragmentCict notificationFragmentCict =new NotificationFragmentCict ();
                                    notificationFragmentCict.fillNotification (R.drawable.snal, "Snal", "your cleared","min",getActivity ());

Но выдает ошибку.

1 Ответ

0 голосов
/ 04 апреля 2020

activity.findViewById (R.id.notificationsRecycler) можно найти только notificationsRecycler в макете вашей деятельности. Вы уверены, что у вас есть R.id.notificationsRecycler в макете вашей деятельности?

Как вы упомянули, у вас может быть R.id.notificationsRecycler в макете вашего фрагмента.

Если я угадаю правильно, вы должны получить mRecyclerView следующим образом:

public class MyFragment extends Fragment {
    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        RecyclerView mRecyclerView = view.findViewById(R.id.notificationsRecycler);
    }
}

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...