gpt4 book ai didi

android - 为什么 addToBackStack() 方法不起作用

转载 作者:行者123 更新时间:2023-11-30 02:18:11 24 4
gpt4 key购买 nike

这是我的主要 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com