尝试调用虚方法' android.content.Context android.support.v4.app.FragmentActivity.getApplicationContext()'安卓

时间:2017-07-26 17:59:54

标签: java android android-fragments nullpointerexception android-recyclerview

设置RecyclerViewAdapter

时出现问题

我收到错误

  

java.lang.NullPointerException:尝试调用虚方法   ' android.content.Context   android.support.v4.app.FragmentActivity.getApplicationContext()'在...上   null对象引用

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 个答案:

答案 0 :(得分:2)

getActivity()null。您可能在将活动附加到片段之前调用此方法。

来自documentation

  

警告:如果在Fragment中需要Context对象,则可以   调用getActivity()。但是,请注意只调用getActivity()   当片段附加到活动时。当片段不是   尚未附着,或在其生命周期结束时被分离,   getActivity()将返回null

尝试并理解fragment lifecycle及其与activity lifecycle的结合方式。

答案 1 :(得分:0)

只使用这个 mLayoutManager = new LinearLayoutManager(getActivity());如果您在活动中编写此代码,请使用getApplicationContext()