Android 片段内的java.lang.NullPointerException
像往常一样,我希望这不是一个愚蠢的问题,我希望有人能帮助我 我不能在我的手机或模拟器中重现这个错误,所以我不确定是什么导致了ti,但我从Play Store的用户那里得到了一些类似下面的报告Android 片段内的java.lang.NullPointerException,android,android-fragments,nullpointerexception,android-fragmentactivity,Android,Android Fragments,Nullpointerexception,Android Fragmentactivity,像往常一样,我希望这不是一个愚蠢的问题,我希望有人能帮助我 我不能在我的手机或模拟器中重现这个错误,所以我不确定是什么导致了ti,但我从Play Store的用户那里得到了一些类似下面的报告 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.josie.myclass/com.josie.myclass.mainActivity}: java.lang.NullPointerException
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.josie.myclass/com.josie.myclass.mainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1659)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675)
at android.app.ActivityThread.access$1500(ActivityThread.java:121)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3768)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.josie.myclass.mainActivity.onAttachFragment(mainActivity.java:183)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:830)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1080)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
at android.support.v4.app.FragmentManagerImpl.dispatchCreate(FragmentManager.java:1805)
at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:200)
at com.josie.myclass.mainActivity.onCreate(mainActivity.java:55)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1623)
... 11 more
我已经挣扎了一段时间,我无法修复它。。。问题似乎出现在我的片段方法中,特别是我们正在讨论mainActivity.java的第183行
这是:
@Override
public void onAttachFragment(Fragment fragment) {
// TODO Auto-generated method stub
if (fragment != null){
super.onAttachFragment(fragment);
if (fragment.getTag() != null){
if (fragment.getTag().equals("video_singolo")){
mStacks.get(AppConstants.TAB_VIDEO).push(fragment);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//Integer tabvideosize = mStacks.get(AppConstants.TAB_VIDEO).size();
} else if (fragment.getTag().equals("news_singola")){
mStacks.get(AppConstants.TAB_NEWS).push(fragment);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//Integer tabvideosize2 = mStacks.get(AppConstants.TAB_PIUVISTI).size();
}
}
}
}
如您所见,我添加了一些!=null
stuff以避免推送null片段等,但它仍然会给出错误。第183行是这一行:
mStacks.get(AppConstants.TAB_NEWS).push(fragment);
提前感谢大家要么mStacks
为空,要么mStacks.get(AppConstants.TAB_NEWS)
为空
将以下检查添加到代码中:
if(mStacks!=null && mStacks.get(AppConstants.TAB_NEWS)!=null ) mStacks.get(AppConstants.TAB_NEWS).push(fragment);
必须检查“news_singola”的名称是否正确??评论和回答?评论很好,因为这并不能真正解决问题……嗨,你怎么知道它没有解决问题?我可以删除该评论