我有一个包含3个标签的应用。对于两个theese标签,我有一些按钮,我用这个代码改变当前片段的新片段:
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();
任何人都知道为什么会这样吗?有什么帮助吗?
答案 0 :(得分:0)
如果您可以手动执行此操作,则可以尝试覆盖onBackPressed()并手动执行任何操作。
@Override
public void onBackPressed() {
// Do whatever your transaction manually
super.onBackPressed();
}