フラグメントを使用してポップアウトしているときに、奇妙な問題が発生します。
私は1つのフラグメントアクティビティを持っています:
ステップ 1: 開始という名前のフラグメント A で、そのアクティビティの onCreate に 1 つのフラグメントを次のようにアタッチしています。
これは Fragment アクティビティの onCreate です
@Override
protected void onCreate(Bundle savedBundleState) {
super.onCreate(savedBundleState);
setContentView(R.layout.activity_base_new);
Fragement_Home home = new Fragement_Home();
FragmentManager manager = getSupportFragmentManager();
manager.beginTransaction().add(R.id.frameContent, home).addToBackStack("home").commit();
}
ステップ:2 その後、添付したフラグメントを次のコードに置き換えました。
Fragment_More moreFragment = new Fragment_More();
FragmentManager manager = getSupportFragmentManager();
manager.beginTransaction().replace(R.id.frameContent, moreFragment).addToBackStack("more").commit();
ステップ 3: その後、同じ方法で Fragment_More にもう 1 つの Fragment を追加しました。
Fragment_AboutRockstand termsConditions = new Fragment_AboutRockstand();
getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.frameContent, termsConditions).addToBackStack("about_rockstand").commit();
ここに私のフラグメントのアクティビティ onBackPressedButton Lisetener があります:
@Override
public void onBackPressed() {
FragmentManager fm = getSupportFragmentManager();
Fragment f = fm.findFragmentById(R.id.frameContent);
if(fm.getBackStackEntryCount() > 1){
fm.popBackStack();
} else{
finish();
}
}
ここに私が得ている問題があります:
ステップ 3 から押し戻すと、onBackPressed で説明されているように前のフラグメントが正常に取得され、popbackstack が実行され、前のフラグメントに移動します。しかし、Fragment_More からもう一度押すと、空白の FRAGMENT コンテンツが表示されます。アクティビティの OnCreate のステップ 1 で追加した最初のフラグメントは表示されません。
コメントしてください。私が間違っていることは何ですか?
ありがとう