3 つのタブを持つアプリがあります。これらのタブのうち 2 つには、次のコードを使用して現在のフラグメントを新しいフラグメントに変更するボタンがあります。
MapFragment newFragment = new JourneyMapFragment(mContext, getFromDestinationCoordinate(), getToDestinationCoordinate());
android.app.FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.setCustomAnimations(android.R.animator.fade_in,
android.R.animator.fade_out);
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
if(newFragment.isHidden()){
transaction.show(newFragment);
}
transaction.commit();
通常のフラグメントであるタブの場合、マップフラグメントに変更すると、戻るボタンを使用すると、問題なく元のフラグメントに戻ります。
ただし、マップフラグメントである別のタブを通常のフラグメントに変更すると、戻るボタンを押したときに同じアクションが得られません。押すと、ビューが白/黒のビューに変わります。
これは、戻るボタンが機能しないタブ内のトランザクション コードです。
Fragment newFragment = new CloseBusStopFragment(mContext, busStopList, getMyPosition());
android.app.FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.setCustomAnimations(android.R.animator.fade_in,
android.R.animator.fade_out);
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
if(newFragment.isHidden()){
transaction.show(newFragment);
}
// Commit the transaction
transaction.commit();
なぜこれが起こるのか知っている人はいますか?何か助けはありますか?