因此,我不知道如何执行此操作,甚至不知道从哪里开始,因此,如果有人有足够的耐心来解释如何执行此操作,我将不胜感激。 我已经在Google上查询过,但是发现的内容太难理解了(我很确定可以很容易地做到这一点。
我有4个片段(底部导航栏上的4个选项卡),并且我希望当时仅运行1个。 现在,我很确定应该使用FragmentManager,但我真的不知道如何开始在程序中实现。
我是否必须在mainActivity中编写所有FragmentTransaction代码?然后如何保持状态?是否有示例代码?
免责声明:在android Studio环境中,我是一个菜鸟,我也是一名学生,几乎在学校做任何事情。
答案 0 :(得分:3)
您可以在代码中尝试。在onNavigationItemSelected
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment fragment = null;
switch (item.getItemId()) {
case R.id.navigation_home:
fragment = new HomeFragment();
break;
case R.id.navigation_dashboard:
fragment = new DashboardFragment();
break;
case R.id.navigation_notifications:
fragment = new NotificationsFragment();
break;
case R.id.navigation_profile:
fragment = new ProfileFragment();
break;
}
return loadFragment(fragment);
}
private boolean loadFragment(Fragment fragment) {
//switching fragment
if (fragment != null) {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container, fragment)
.commit();
return true;
}
return false;
}
希望这对您有帮助!
谢谢。