Androidのボトムナビゲーションビューを使用しているときに、自分のアプリケーションのアーキテクチャを構築するための最良の方法についていくつかの情報を得たいと考えています。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();
}
問題は、私は1つのタブをクリックしたら、それはフラグメントを切り開くことにある、と私はそれらのフラグメントを持っていると思いますが、すなわち(他のフラグメント/活動を開く:
- 私は開きますプロフィールタブ( `ProfileFragment`負荷)
- 私は、多くのバグに実行した後` ProfileFragment`、これから `SignUpFragment`または` SignUpActivity`負荷からボタンを
をクリックして、私は再しました私のアプリを設計する方法を探しましたが、私は混在した結果を見つけました。誰でもBottomNavigationView
をFragments
と使用する正しい方法を知っていて、その中でfragments
を読み込めます。さらにActivities/fragments
をロードできますか?事前に大きな感謝です。