我在我的应用程序中面临一个奇怪的问题。从一个片段,如果我按下一个按钮,我开始新的FragmentActivity包含一个片段和一些其他元素,但如果我会回到上一个Activity(包含启动当前活动的片段),我需要按两次按钮。 第一次片段活动看起来很接近,但它又重新打开了。我一如既往地关闭FragmentActivity:
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}
那怎么了?
答案 0 :(得分:0)
我开始新的FragmentActivity包含一个片段和一些其他元素
你最有可能将FragmentTransaction
添加到backstack,这就是为什么它正在消耗后退按钮。您根本不需要覆盖onBackPressed()
。相反,请查看将Fragment
添加到新FragmentActivity
的代码,并确保您未在初始事务中调用.addToBackStack()
。例如,通常在onCreate()
中,您可以执行以下操作:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.your_container_id, new YourInitialFragment())
.commit();
}
}