片段后退按钮按下,然后按两次以关闭应用程序
问题描述:
我有片段[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 {
//...
}