0

java.lang.NullPointerException我希望这不是一个愚蠢的问题,我希望有人能帮助我。像往常一样在onAttachFragment

我无法在我的手机或我的模拟器中重现此错误,所以我不确定是什么导致了ti,但是我从Play商店的用户那里获得了一些类似的报告。

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 

我一直在为此而努力了一段时间,我不能修复它?这个问题似乎是在我的onAttachFragment方法,尤其是我们正在谈论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避免推空片段等,但它仍然提供了错误。 183线是这个:

mStacks.get(AppConstants.TAB_NEWS).push(fragment); 

在此先感谢大家

+0

必须检查“news_singola”的名字是正确的? – Piyush

回答

1

要么mStacks为空或mStacks.get(AppConstants.TAB_NEWS)为空。

添加以下检查你的代码:

if(mStacks!=null && mStacks.get(AppConstants.TAB_NEWS)!=null) mStacks.get(AppConstants.TAB_NEWS).push(fragment); 
+0

评论和和答案?评论是好的,因为这不能真正解决问题... – 2Dee

+0

嗨,你怎么知道它没有解决问题?我可以删除评论 –

+0

更新了答案 –

相关问题