在片段android上按下后退按钮?

时间:2014-01-15 07:34:55

标签: android performance android-layout android-fragments

在我的应用程序中我有4个片段,如跟随[A] [A-sub] [B] [B-sub]当用户按下[A]或[B]的后退按钮时它应该退出应用程序假设用户按下[A-sub]或[B-sub]按钮后,应将应用程序重定向到[A]或[B]

我希望你能解决我的问题

我在我的主要片段活动中尝试了以下但我知道它只是退出应用程序的解决方案

private boolean _doubleBackToExitPressedOnce    = false;

@Override
public void onBackPressed() {

System.out.println("onBackPressed--");
if (_doubleBackToExitPressedOnce) {
    super.onBackPressed();
    return;
}
this._doubleBackToExitPressedOnce = true;
Toast.makeText(this, "Press again to quit", Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {

        _doubleBackToExitPressedOnce = false;
    }
}, 2000);
}

1 个答案:

答案 0 :(得分:1)

执行类似的操作,覆盖onBackpessed()

@Override
    public void onBackPressed()
    {
        if (page == SUB_FRG) 
            super.onBackPressed();//Normal Back
        else 
        //Finish activity holding fragment
    }

当您将片段替换为子片段时,请使用addToBackStack(null),如下所示

FragmentManager myProfilefragmentManager =  getSupportFragmentManager();
    FragmentTransaction myProfilefragmentTransaction = myProfilefragmentManager.beginTransaction();
    myProfilefragmentTransaction.replace(R.id.article_fragment, myProfileFragment).addToBackStack(null).commit();