片段后退按钮按下,然后按两次以关闭应用程序

问题描述:

我有片段[0],[1],[2],[3],[4]和[5]。片段后退按钮按下,然后按两次以关闭应用程序

我想实现每个片段上的后退按钮以返回到主片段。在主要片段中,我希望能够在退出程序之前按两下后退按钮。

截至目前压回两次作品,但它适用于所有碎片。当按下应用程序关闭的任何片段时,它不会返回到主片段。 我希望该功能只能在主要的片段上工作。

这是我的代码,这是我的主要片段活动。

private static long back_pressed; 
private Toast toast; 
@Override 
public void onBackPressed() 
{ 


    if (back_pressed + 2000 > System.currentTimeMillis()) 
     { 

      // need to cancel the toast here 
     toast.cancel(); 

     // code for exit 
     Intent intent = new Intent(Intent.ACTION_MAIN); 
      intent.addCategory(Intent.CATEGORY_HOME); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      startActivity(intent); 

     } 
     else 
     { 
     // ask user to press back button one more time to close app 
     toast= Toast.makeText(getBaseContext(), "Press once again to exit!", Toast.LENGTH_SHORT); 
     toast.show(); 
     } 
     back_pressed = System.currentTimeMillis(); 
} 

试试这方法:

创建公共变量int柜台= 0,内部onBackPressed放在柜台++。之后,如果(计数器== 2){....}

public int counter = 0; 

    @Override 
    public void onBackPressed() 
    { 
     counter++; 
     if(counter == 2){ 
     do something....} 

    } 

尝试检查当前可见片段是否是您的主片段。要做到这一点

final MyFragment fragment = getFragmentManager().findFragmentByTag(myFragmentTag); 
if (fragment.isVisible()) { 
    //... 
} else { 
    //... 
}