android - 当我想返回到上一个 fragment 时,后退按钮不起作用

标签 android android-fragments android-listfragment android-fragmentactivity

我在我的 MainActivity 中管理两个 fragment 。

其中一个是 ListFragment 的子类,用于显示项目列表。

主要思想是当用户点击其中一个项目时导航到另一个 ListView ,并且用户可以在点击返回按钮时返回到上一个 ListView 。

发送到新列表的代码如下:

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
NewFragment newFragment = new NewFragment();
newFragment.setArguments(getIntent().getExtras());
transaction.replace(R.id.fragment_layout, newFragment);
transaction.addToBackStack(null);
transaction.commit();

但是,我只是简单地退出了应用程序,而不是返回到之前的 View 。 我做错了什么?

最佳答案

与 Activity 不同,对于 fragment ,您必须明确地将内容添加到“返回堆栈”中。基本上,当您的应用程序显示一个新 fragment 时,您希望返回到预览 fragment ,您可以调用 FragmentTrasaction.addToBackStack() .

当用户按回键时,框架会处理从返回堆栈中弹出 fragment 。如果您需要更复杂的东西,您可以覆盖 fragment 的后退按钮。这个问题涵盖了,

Android Fragment handle back button press

关于android - 当我想返回到上一个 fragment 时,后退按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14466901/

相关文章:

java - 如何启用 map 旋转?

android-layout - 滚动时 View 寻呼机中的相机 SurfaceView 闪烁

java - 使用 FragmentTransaction 与 fragment 通信

android - fragmenttransaction.replace() (ActionbarSherlock) 我哪里出错了

java - 如何横向并排显示 2 个 fragment

借助 seekbar 进行放大和缩小的 Android 程序?

android - Android中的精准定位

Android - 通过模糊/近似/相似匹配查找联系人

android - fragment 中的 Facebook 登录

android - 根据 ListFragment 中可见项的数量更改 ActionBar 中的操作