我有一个 MainActivity,它有几个 fragment 被添加然后显示/隐藏。这是因为 MainActivity 使用了 NavigationDrawer
。单击抽屉中的项目会导致添加不同的 fragment (如果它们不存在),或者如果存在则显示/隐藏。
我的问题是,如何通过来自不同 Activity 的 Intent 启动我的 MainActivity,并同时显示特定 fragment ?
我是否必须向我的 MainActivity 传递一些额外信息,然后根据该数据添加/显示/隐藏相关 fragment ?还有别的办法吗?
最佳答案
当您创建 Intent 时,您可以给它一个额外的值来确定要加载的 fragment 。
Intent i = new Intent(this, ActivityClass.class);
i.putExtra("frgToLoad", FRAGMENT_A);
// Now start your activity
startActivity(i);
现在,在您的 Activity 中检查额外的部分并加载正确的 fragment :
OnCreate(){
...
int intentFragment = getIntent().getExtras().getInt("frgToLoad");
switch (intentFragment){
case FRAGMENT_A:
// Load corresponding fragment
break;
case FRAGMENT_B:
// Load corresponding fragment
break;
case FRAGMENT_C:
// Load corresponding fragment
break;
}
}
关于android - 如何启动 Activity 并显示特定 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36063704/