所以在我的应用程序中,我使用片段,所以" backpress"工作不正常。我想做的是如果屏幕显示我的" Mainactivity"然后我按下"后退按钮"在手机上我想退出应用程序。
目前我有这段代码:
@Override
public void onBackPressed() {
FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction();
fm.popBackStack();
}
但我需要做这样的事情:
@Override
public void onBackPressed() {
if("CurrentView" == "MainActivity") {
app.close()
}else{
FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction();
fm.popBackStack();
}
}
但是,这不会起作用,因为它不是真正的代码。我希望你能明白我的意思并帮助我解决问题。
答案 0 :(得分:1)
使用instanceOf
@Override
public void onBackPressed()
{
if(this instanceof Activity_name)
{
app.close()
}
else{
FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction();
fm.popBackStack();
}
}
答案 1 :(得分:0)
这是由片段管理器自动完成的。如果片段在后面的堆栈中,它将首先弹出后面的键,然后在另一个后面的键上,如果没有剩下的片段,应用程序将自动关闭它。您只需要将该片段添加到后台堆栈中,然后将其添加到片段事务中。