【发布时间】:2017-10-04 14:28:18
【问题描述】:
我想就在使用 Android 的底部导航视图时构建应用架构的最佳方式获得一些意见。
目前我在我的 MainActivity 中定义了我的BottomNavigationView。它看起来像这样。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BottomNavigationView bottomNavigationView = (BottomNavigationView)findViewById(R.id.bottom_navigation);
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment selectedFragment = null;
switch (item.getItemId()){
case R.id.action_home:
selectedFragment = HomeFragment.newInstance();
break;
case R.id.action_search:
selectedFragment = SearchFragment.newInstance();
break;
case R.id.action_message:
selectedFragment = MessageFragment.newInstance();
break;
case R.id.action_profile:
selectedFragment = ProfileFragment.newInstance();
break;
}
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.frame_layout, selectedFragment);
transaction.commit();
return true;
}
});
//Manually displaying the first fragment - one time only
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.frame_layout, HomeFragment.newInstance());
transaction.commit();
}
问题是,一旦我单击一个选项卡,它就会打开一个片段,我想让这些片段打开其他片段/活动(即:
- 我打开配置文件选项卡(`ProfileFragment` 加载)
- 我单击 `ProfileFragment` 中的一个按钮,然后加载 `SignUpFragment` 或 `SignUpActivity`
在遇到许多错误后,我研究了如何构建我的应用程序,但我发现结果好坏参半。有谁知道使用BottomNavigationView 和Fragments 的正确方法,在那些fragments 中我可以加载更多Activities/fragments。非常感谢。
【问题讨论】:
标签: android android-fragments bottomnavigationview