【发布时间】:2017-03-20 02:50:57
【问题描述】:
我已经实现了一个底栏导航片段using this tutorial
当片段仅用于一个活动时,一切正常,但是,我制作了 4 个不同的活动并将片段添加到每个活动中。
我在每个 Activity 中都有以下 case 语句,当单击底部栏导航按钮时,它们应该切换到相应的 Activity。
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相同
谢谢
【问题讨论】:
标签: android android-fragments android-activity material-design