如果声明基于当前"查看"

时间:2016-11-22 13:16:18

标签: android

所以在我的应用程序中,我使用片段,所以" 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();
}

}

但是,这不会起作用,因为它不是真正的代码。我希望你能明白我的意思并帮助我解决问题。

2 个答案:

答案 0 :(得分:1)

使用instanceOf

   @Override
public void onBackPressed()
{
     if(this instanceof Activity_name) 
     {
         app.close() 
     }
   else{
FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction();
fm.popBackStack();
        }
}

答案 1 :(得分:0)

这是由片段管理器自动完成的。如果片段在后面的堆栈中,它将首先弹出后面的键,然后在另一个后面的键上,如果没有剩下的片段,应用程序将自动关闭它。您只需要将该片段添加到后台堆栈中,然后将其添加到片段事务中。