如何从片段按下按钮时退出应用程序

时间:2015-02-03 07:54:20

标签: android

我在活动中添加片段。用户从一个片段屏幕按下后退按钮。我需要退出应用程序,任何人都可以告诉我该怎么做?

由于

6 个答案:

答案 0 :(得分:1)

您可以使用以下方法退出fragment

getActivity().moveTaskToBack(true); 
getActivity().finish();

这可能会对你有所帮助

答案 1 :(得分:0)

3个步骤:

按下后退按钮,清除一系列活动,以便您的活动位于其后面,然后关闭它。

@Override
public void onBackPressed() {
    moveTaskToBack (true)
    finish();
}

答案 2 :(得分:0)

Read More at

private Toast toast;
    private long lastBackPressTime = 0;
    @SuppressLint("WrongConstant")
    @Override
    public void onBackPressed() {
        int fragments = getFragmentManager().getBackStackEntryCount();
        if (fragments == 0) {
            // make layout invisible since last fragment will be removed
            if (this.lastBackPressTime < System.currentTimeMillis() - 3000) {
                toast = Toast.makeText(this, "Press back again to close this app", 3000);
                toast.show();
                this.lastBackPressTime = System.currentTimeMillis();

            }else{
                if (toast != null) {
                    toast.cancel();
                }
                super.onBackPressed();
            }

        }else{
            if (toast != null) {
                toast.cancel();
            }
            super.onBackPressed();
        }
    }

答案 3 :(得分:0)

当您可能添加/替换了多个片段时,一种安全的方法是计算后退堆栈并通过以下方法退出:(这将在主要活动内部)

array[1..nShows] of var int: start;

constraint cumulative(start, length, tv, 2);

这样,如果您在不是主片段的片段上按 BACK ,则只会删除该片段,一旦到达最低片段(添加的第一个片段),它将调用@Override public void onBackPressed() { if (getSupportFragmentManager().getBackStackEntryCount() > 1) { getSupportFragmentManager().popBackStack(); } else { super.onBackPressed(); } } 的超类,可能是您的onBackPressed,然后在此 BaseActivity 中添加以下内容:

.. BaseActivity extends AppCompatActivity

答案 4 :(得分:-1)

您的Activity会检测到按下后退按钮 试试这段代码:

@Override
public void onBackPressed() {
    finish();
}

答案 5 :(得分:-2)

使用getActivity.finish()我从应用程序退出