- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的主要 Activity 。我关注了this guide关于 fragment 正确。当我单击“后退”按钮时,我的应用程序关闭而不是返回到 MainScreenFragment。为什么会发生这种情况以及为什么 addToBackStack()
不起作用?
public class MainScreenActivity extends ActionBarActivity implements MainScreenFragment.OnFrameChoiced {
private MainScreenFragment mainScreenFragment;
private AddWordsFragment addWordsFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_screen);
mainScreenFragment = new MainScreenFragment();
addWordsFragment = new AddWordsFragment();
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.container, mainScreenFragment).addToBackStack(null).commit();
}
@Override
public void choiceFrame(int id) {
switch (id) {
case R.id.add_new_words_frame:
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.container, addWordsFragment).addToBackStack(null).commit();
fm.executePendingTransactions();
break;
}
}
附言我尝试使用来自 this 的解决方案主题,但它仍然不起作用。
最佳答案
你有没有试过像下面这样覆盖背面:
@overide
public void onBackPressed(){
FragmentManager fm = getSupportFragmentManager();
if (fm.getBackStackEntryCount() > 1) {
fm.popBackStack();
} else {
finish();
}
}
关于android - 为什么 addToBackStack() 方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28959394/
在 Android 上的 FragmentTransaction 项中 docs ,说明方法replace()与调用方法remove()是一样的,对当前view中添加的所有fragment调用方法添加
我正在尝试关闭 fragment 并希望通过在我的 fragment 实现中使用 addToBackStack 来恢复主要 Activity ,但它不起作用。后退按钮正在关闭应用程序。 我使用的 fr
在我的应用程序中,我正在处理一个显示不同 fragment 的 Activity 。该 Activity 还具有抽屉布局。 activity_main.xml: 所以现在我试图通过替换它们
我就是不明白。 我有一个 Activity A、一个 Fragment F1 和一个 Fragment F2。当 Activity 启动时,它会通过 F1 打开 getFragmentManager(
我的 MainActivity 管理两个一起工作的 fragment 。我的方法之一是我的 ListFragment 上的监听器接口(interface),MainActivity 负责切换 frag
这是负责将 fragment 添加到后台堆栈的函数: public void populateContent(File f) { ContentFragment cf = new Conten
有什么办法可以让这个更干净一点吗?我知道当 query = ""时我位于主菜单,因此返回应该关闭应用程序。 if (query == "") { fragmen
当我们在 fragment 中使用 addToBackStack() 时如何设置动画? 我的旧片段需要保留,新片段应该将旧片段与动画重叠并显示给用户。 我尝试了 setCustomAnimation(
按后退按钮后,单击按钮时显示的新 fragment 不会关闭,而是关闭整个应用程序。该按钮位于三个选项卡之一内。 mainActivity.java、HeroesFragment(具有三个选项卡的 f
我被它弄糊涂了。 我有一个 Activity A,Fragment F1 和 F2,当单击一个按钮时,我想隐藏 F1 并将 F2 添加到同一位置,然后可以通过后退按钮返回到 F1。所以我做了如下。
这是我的主要 Activity 。我关注了this guide关于 fragment 正确。当我单击“后退”按钮时,我的应用程序关闭而不是返回到 MainScreenFragment。为什么会发生这种
我有一个 FragmentActivity,它在启动时加载一个自定义 ListFragment,并在单击某项后用新 fragment 替换它。 在 fragment Activity 子类中: pub
每当我按下我的应用程序的后退按钮时,就会发生以下情况。 原创手机展示:FragA 点击 FragA 上的 View 后手机展示:FragB 点击返回按钮后手机显示: fragment A fragme
我正在研究 Fragments,在区分 FragmentTransaction.replace(id, fragment, tag) 和 FragmentTransaction.addToBackSt
当我按下“后退”按钮(在模拟器和 Galaxy S2 上测试)时,无论提交了多少 fragment 事务,应用程序都会关闭:( 好吧,以防万一,我会发布我的 fragment 事务的实现,尽管我怀疑它
我的应用程序有选项卡,在一个选项卡中,我有一个带有 ListView 的 fragment 。单击列表中的项目时,我尝试使用以下内容在该选项卡下初始化一个新 fragment : private cl
我在使用 FragmentTransaction addToBackStack 时发现了一个奇怪的行为。每当手机旋转时,它都会重新创建堆栈中的所有 fragment 。为什么要重新创建这些 fragm
我在抽屉导航 Activity 中创建了一个选项卡式 Activity 。我已将抽屉导航内的列表与各个 fragment 链接起来。我还在 ft.commit() 之前使用了命令 ft.addToBa
我没有找到解决问题的方法。 我有几个 fragment (动态创建),但我的后退按钮根本不起作用,按下它将关闭应用程序,无论 fragment 是“Activity 的”。 @Override pub
具有添加 fragment 和稍后的 replace() fragment 的流程。所有 fragment 都是动态添加的,但不是所有 fragment 都调用addToBackStack()。 ge
我是一名优秀的程序员,十分优秀!