YouTubeはタブのフラグメントのライフサイクルをどのように処理しますか?タブをタップすると、タブが切り替わってもデータのロードが開始されます。そして、そのタブをもう一度選択し直すと、ビューとデータがリロードされません。 didFeedLoadのようないくつかのブール変数があると思いますが、それはonCreateでtrueに設定されますか?しかし、私の意見では、これはエレガントで良い解決策ではありません。どう思いますか?私はBottomNavigationViewを持っていますが、私はここでのYouTubeのAndroidアプリの中YouTubeアプリのようにアンドロイドライフサイクルを処理するにはどうすればいいですか?
などのライフサイクルを処理する代わりに、ViewPagerとTabLayoutの私のアプリで
は、ナビゲーションのコードです:
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.frame_layout, new OneFragment());
fragmentTransaction.commit();
BottomNavigationView bottomNavigationView =
(BottomNavigationView) findViewById(R.id.bottom_navigation_view);
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment fragment = null;
switch (item.getItemId()) {
case R.id.action_one:
fragment = new OneFragment();
break;
case R.id.action_two:
fragment = new TwoFragment();
break;
case R.id.action_three:
fragment = new ThreeFragment();
break;
case R.id.action_four:
fragment = new FourFragment();
break;
case R.id.action_five:
fragment = new FiveFragment();
break;
}
if (fragment != null) {
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.frame_layout, fragment);
fragmentTransaction.commit();
}
return true;
}
});
ナビゲーションビューとタブ選択のコードを共有してください。だから私は提案することができます –
@UmarAta私は質問を更新しました – madim