簡體   English   中英

嘗試調用虛擬方法'android.content.Context android.support.v4.app.FragmentActivity.getApplicationContext()'android

[英]Attempt to invoke virtual method 'android.content.Context android.support.v4.app.FragmentActivity.getApplicationContext()' android

設置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);

getActivity()null 在將活動附加到片段之前,您可能正在調用此方法。

文檔中

警告:如果您在Fragment中需要一個Context對象,則可以調用getActivity()。 但是,僅在將片段附加到活動時才小心調用getActivity()。 如果片段尚未附加或在其生命周期結束時分離,則getActivity()將返回null

嘗試了解片段的生命周期 ,以及它如何與活動生命周期結合在一起。

僅使用此mLayoutManager = new LinearLayoutManager(getActivity()); 如果您正在活動中編寫此代碼,請使用getApplicationContext()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM