假设我有一个 Activity ,其中包含以编程方式添加的片段:

private void animateToFragment(Fragment newFragment, String tag) {
    FragmentTransaction ft = getFragmentManager().beginTransaction();
    ft.replace(R.id.fragment_container, newFragment, tag);
    ft.addToBackStack(null);
    ft.commit();
}

返回到可见的先前片段的最佳方法是什么?

我找到了Trigger back-button functionality on button click in Android,但我认为模拟返回键事件并不是解决该问题的正确方法(而且我也无法使其正常工作):
dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));

调用finish()只会关闭我不感兴趣的 Activity 。

有更好的方法来解决这个问题吗?

最佳答案

查看getFragmentManager().popBackStack()方法(有多种选择)

http://developer.android.com/reference/android/app/FragmentManager.html#popBackStack()

10-07 19:00
查看更多