我有一个带有 3 个标签的应用程序。对于其中两个选项卡,我有按钮,可以在其中使用以下代码将当前片段更改为新片段:
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();
对于一个正常片段的选项卡,更改为地图片段后退按钮将我带回原始片段,没有任何问题。
但是,另一个作为 mapfragment 的选项卡,在按下后退按钮时不会给我相同的操作。当它被按下时,它会将视图更改为白色/黑色视图。
这是选项卡中的事务代码,其中后退按钮不起作用:
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();
有谁知道为什么会这样?有什么帮助吗?