0

我已经实施了底杆导航片段using this tutorial的Android底部导航栏(与片段)错误切换视图

一切工作以及当所述片段上的一个活性只使用,但是,我已4个不同的活动,并加入片段给每一个。

我在每个Activity中都有以下case语句,当单击底部导航栏导航按钮时,应该切换到相应的活动。

bottomBar.setOnItemSelectedListener(new OnTabSelectedListener() { 
     @Override 
     public void onItemSelected(int position) { 
      switch (position) { 
       case 0: 
        break; 
       case 1: 
        Intent sellIntent = new Intent(getApplicationContext(), SellActivity.class); 
        sellIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
        startActivity(sellIntent); 
        break; 
       case 2: 
        Intent messagesIntent = new Intent(getApplicationContext(), MessagesActivity.class); 
        messagesIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
        startActivity(messagesIntent); 
        break; 
       case 3: 
        Intent profileIntent = new Intent(getApplicationContext(), ProfileActivity.class); 
        profileIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
        startActivity(profileIntent); 
        break; 

      } 
     } 

但是,当我点击其中一个导航按钮(例如情况1)时,出现此错误。

FATAL EXCEPTION: main Process: me.xxx.spring, PID: 9000 
                  java.lang.RuntimeException: Unable to start activity ComponentInfo{me.xx.spring/me.xx.spring.SellActivity}: java.lang.IllegalArgumentException: No view found for id 0x7f0c006f (me.xx.spring:id/fragmentContainer) for fragment MyBottomNavFragment{8e1720 #0 id=0x7f0c006f} 
                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646) 
                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) 
                   at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) 
                   at android.os.Handler.dispatchMessage(Handler.java:102) 
                   at android.os.Looper.loop(Looper.java:154) 
                   at android.app.ActivityThread.main(ActivityThread.java:6077) 
                   at java.lang.reflect.Method.invoke(Native Method) 
                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 
                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 
                   Caused by: java.lang.IllegalArgumentException: No view found for id 0x7f0c006f (me.xx.spring:id/fragmentContainer) for fragment MyBottomNavFragment{8e1720 #0 id=0x7f0c006f} 
                   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1107) 
                   at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1295) 
                   at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801) 
                   at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1682) 
                   at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:388) 
                   at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:607) 
                   at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:181) 
                   at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1248) 
                   at android.app.Activity.performStart(Activity.java:6681) 
                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2609) 
                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)  
                   at android.app.ActivityThread.-wrap12(ActivityThread.java)  
                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)  
                   at android.os.Handler.dispatchMessage(Handler.java:102)  
                   at android.os.Looper.loop(Looper.java:154)  
                   at android.app.ActivityThread.main(ActivityThread.java:6077)  
                   at java.lang.reflect.Method.invoke(Native Method)  
                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)  
                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)  

有人知道我要去哪里吗?

我不会发布任何其它代码的诸如片段类,因为它是一样here

由于

回答

0

在改变活性。使用getFragmenentManager()更新您的片段管理器。 它对我来说很好。

+0

您打电话给哪种方法?我是新来的碎片,所以它对我来说不像应该那样明显。 – tinOfBeans