私はプロジェクトに取り組んでおり、各フラグメントの戻るボタンを使用して前のフラグメント間を移動できるようにする必要があります。アクションバーの戻る矢印を使用してそうするように記述されたメソッドがありますが、できるようにしたいです押した戻るボタンで同じ機能を使用するには。バックスタックを使いたくありません。これを行う方法はありますか?
編集
バックスタックを使用するのではなく、ユーザーが戻るボタンをクリックしたときに、前のメソッドに戻るを呼び出すことができるようにしたいと考えています。フラグメント内で gobackpressed メソッドを使用する必要があります。これは可能ですか?これが明確かつ簡潔であることを願っています。上記で生じた混乱についてお詫び申し上げます。
前に戻る
public void gobackToPreviousFragment(String preFragmentTag, Fragment preFragment){
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.setCustomAnimations(R.animator.close_slide_in,R.animator.close_slide_out);
ft.show(preFragment);
//**BY REMOVING FRAGMENT, WHEN USER TRIES TO REVISIT, FRAGMENT IS BLACK**
ft.remove(fm.findFragmentByTag(Misc.currentContentFragmentTag));
ft.addToBackStack(null);
ft.commit();
Misc.currentContentFragmentTag = preFragmentTag;
createBar(preFragment);
}
前進する
public void gotoNextFragment(String nextTag, Fragment nextFragment){
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.setCustomAnimations(R.animator.enter_slide_in, R.animator.enter_slide_out);
boolean newlyCreated = false;
if(nextFragment == null){
nextFragment = Fragment.instantiate(this, nextTag);
newlyCreated = true;
}
//hide current fragment
ft.hide(fm.findFragmentByTag(Misc.currentContentFragmentTag));
if(newlyCreated){
ft.add(R.id.content_frame, nextFragment, nextTag);
}
else{
ft.show(nextFragment);
}
ft.addToBackStack(null);
ft.commit();
Misc.currentContentFragmentTag = nextTag;
createBar(nextFragment);
}
これらは私が前後にナビゲートする方法であり、onBackPressed() に戻るメソッドを実装できるようにしたいと考えています。これは理にかなっていますか?