1
私はアクティビティでナビゲーションドロアを実装しました。私は私のアプリに3-4の断片があります。いつもメインのフラグメントに戻って返される
のは、3つの断片があるとしましょう:私は私のアプリを起動するとFragment_1、Fragment_2、Fragment_3
は、Fragment_1がロードされ、私は、ナビゲーション引き出しを使用して別の断片に行きます。
だから、
Fragment_1ようなものだ - > Fragment_1 - - >私は戻るボタンを押したときに、それは
Fragment_3ようなものだ、今> Fragment_3
- > Fragment_2 - > Fragment_3 - > Fragment_1 Fragment_3 - > Fragment_2 - > Fragment_1
バックキーを押すとどこにいても、 は常にFragment_1に戻ることができます。
私は別のフラグメントにナビゲートするためのコードの下に使用しています: -
nav_menu_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
switch (position) {
case 0:
DashboardFragment dashboardFragment = new DashboardFragment();
fragmentTransaction.replace(R.id.mainContainer, dashboardFragment, dashboardFragment.getClass().getName());
break;
case 1:
ProfileFragment profileFragment = new ProfileFragment();
fragmentTransaction.replace(R.id.mainContainer, profileFragment, profileFragment.getClass().getName());
fragmentTransaction.addToBackStack(null);
break;
case 2:
ContactUsFragment contactUsFragment = new ContactUsFragment();
fragmentTransaction.replace(R.id.mainContainer, contactUsFragment, contactUsFragment.getClass().getName());
fragmentTransaction.addToBackStack(null);
break;
case 3:
AboutUsFragment aboutUsFragment = new AboutUsFragment();
fragmentTransaction.replace(R.id.mainContainer, aboutUsFragment, aboutUsFragment.getClass().getName());
fragmentTransaction.addToBackStack(null);
break;
default:
break;
}
fragmentTransaction.commit();
drawer.closeDrawer(GravityCompat.START);
}
});
主な活動には、この方法で問題が解決されます...
このエラーが発生しました: - オペレータ "!" "android.app.fragment"には適用できません – Sid
はまだ動作しません。 と同じ形式Fragment_3 - > Fragment_1 - > Fragment_3 - > Fragment_2 - > Fragment_1 – Sid
Javaコードから 'fragmentTransaction.addToBackStack(null);'を削除します。 –