简体   繁体   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

I have some problem when I set RecyclerViewAdapter 设置RecyclerViewAdapter时出现一些问题

I get error 我得到错误

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.support.v4.app.FragmentActivity.getApplicationContext()' on a null object reference java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“ android.content.Context android.support.v4.app.FragmentActivity.getApplicationContext()”

in line mLayoutManager = new LinearLayoutManager(getActivity().getApplicationContext()); mLayoutManager = new LinearLayoutManager(getActivity().getApplicationContext());

How to fix it 如何修复

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() is null . getActivity()null You are probably calling this method before your activity is attached to your fragment. 在将活动附加到片段之前,您可能正在调用此方法。

From the documentation : 文档中

Caution: If you need a Context object within your Fragment, you can call getActivity(). 警告:如果您在Fragment中需要一个Context对象,则可以调用getActivity()。 However, be careful to call getActivity() only when the fragment is attached to an activity. 但是,仅在将片段附加到活动时才小心调用getActivity()。 When the fragment is not yet attached, or was detached during the end of its lifecycle, getActivity() will return null 如果片段尚未附加或在其生命周期结束时分离,则getActivity()将返回null

Try and understand the fragment lifecycle and how it is coupled with activity lifecycle . 尝试了解片段的生命周期 ,以及它如何与活动生命周期结合在一起。

just use only this mLayoutManager = new LinearLayoutManager(getActivity()); 仅使用此mLayoutManager = new LinearLayoutManager(getActivity()); and if you are writing this code in activity then use getApplicationContext() 如果您正在活动中编写此代码,请使用getApplicationContext()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 尝试在空对象引用上调用虚拟方法'android.content.Context android.content.Context.getApplicationContext()' - Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference 尝试调用虚拟方法 'java.lang.Object android.content.Context - Attempt to invoke virtual method 'java.lang.Object android.content.Context Android NullPointerException尝试调用虚拟方法'android.support.v7.app.ActionBar MainActivity.getSupportActionBar() - Android NullPointerException Attempt to invoke virtual method 'android.support.v7.app.ActionBar MainActivity.getSupportActionBar() Android 错误 [尝试调用虚拟方法 'void android.support.v7.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)] - Android Error [Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)] 在空对象引用上接收“ android.content.Context android.content.Context.getApplicationContext()” - Receiving 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference 尝试在空对象引用上调用虚拟方法“android.support.v7.app.AlertDialog android.support.v7.app.AlertDialog$Builder.create()” - Attempt to invoke virtual method 'android.support.v7.app.AlertDialog android.support.v7.app.AlertDialog$Builder.create()' on a null object reference 尝试在 Android Studio 中的 null object 参考上调用虚拟方法 'android.content.Context.getApplicationInfo()' - Attempt to invoke virtual method 'android.content.Context.getApplicationInfo()' on a null object reference in Android Studio 尝试在Android上调用虚拟方法 - Attempt to invoke virtual method on Android 尝试调用虚方法 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager - Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager 如何修复在 null object 参考上调用虚拟方法 'android.view.View androidx.fragment.app.FragmentActivity.findViewById(int)' 的尝试? - How to fix attempt to invoke virtual method 'android.view.View androidx.fragment.app.FragmentActivity.findViewById(int)' on a null object reference?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM