BottomNavigationViewを使用してフラグメント間を移動するアプリケーションがあります。フラグメント(SearchFragment)の1つに、タブビューがあり、EasyTabsで実装されています。フラグメントコンテンツがBottomNavigationView FragmentTransactionにロードされない
初めてSearchFragmentに移動すると、レイアウトが正しく読み込まれ、3つすべてのタブが読み込まれます。問題は、別のFragmentに移動してSearchFragmentに戻ると、レイアウトがロードされないということです。画面の上部にタブビューが表示されますが、コンテンツが表示されず、タブ間を移動して1つずつ表示する必要があります。
onNavigationItemSelected
方法:SearchFragment
内部
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.tab_search:
mFragment = new SearchFragment();
break;
/*case R.id.tab_history:
mFragment = new RadioFragment();
break;*/
case R.id.tab_desc:
Bundle bundle = new Bundle();
bundle.putBoolean("fromSetup", false);
mFragment = new DescriptionFragment();
mFragment.setArguments(bundle);
break;
/*case R.id.tab_config:
mFragment = new RadioFragment();
break;*/
}
final FragmentTransaction transaction = mFragmentManager.beginTransaction();
transaction.replace(R.id.main_container, mFragment).addToBackStack(null).commit();
return true;
}
EasyTabsBuilder
:
EasyTabsBuilder.with(mTabs)
.addTabs(
new TabItem(new SearchByDateFragment(), ""),
new TabItem(new SearchByEventFragment(), ""),
new TabItem(new SearchByDescriptionFragment(), "")
)
.setTabsBackgroundColor(EasyTabsColors.White)
.setIndicatorColor(EasyTabsColors.Gray)
.setTextColors(EasyTabsColors.Black, EasyTabsColors.White)
.addIcons(
R.drawable.ic_date_range_black_24dp,
R.drawable.ic_face_black_24dp,
R.drawable.ic_description_24px)
.hideAllTitles(true)
.Build();
このメソッドは、私はあなたのアイデアを使用しました! 'SearchFragment'の' onDestroyView'メソッドで、SearchFragmentに関連するすべてのフラグメントを削除しました。 – Minoru