我在设置RecyclerViewAdapter时遇到了一些问题
我得到错误
java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“android.content.Context android.support.v4.app.FragmentActivity.getApplicationContext()”
在线mLayoutManager = new LinearLayoutManager(getActivity().getApplicationContext());
怎么修
for (ProfileFeedListModelTwo.PostBean.PollBean pollBean : pp){
pollBeanArrayList.add(pollBean);}
adapDetailTopicPoll = new AdapDetailTopicPoll(pollBeanArrayList,getContext());
mLayoutManager = new LinearLayoutManager(getActivity().getApplicationContext());
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(adapDetailTopicPoll);
字符串
2条答案
按热度按时间qxgroojn1#
getActivity()
是null
。您可能在Activity附加到片段之前调用此方法。从documentation:
注意:如果你需要在你的Fragment中有一个Context对象,你可以调用getActivity()。但是,请注意,仅当片段附加到Activity时才调用getActivity()。如果片段尚未附加,或者在其生命周期结束时被分离,getActivity()将返回null
尝试理解fragment lifecycle以及它如何与activity lifecycle耦合。
wj8zmpe12#
只需使用mLayoutManager = new LinearLayoutManager(getActivity());如果您在Activity中编写此代码,则使用getApplicationContext()