нажмите еще раз, чтобы выйти в Android Studio - PullRequest
0 голосов
/ 04 ноября 2018

как реализовать нажмите еще раз, чтобы выйти в Android Studio, Pls. см. мое кодирование здесь. Я проверил все обсуждения здесь относительно этого, но не работал с моим кодом. Я должен убедиться, что нажата спина, всегда переходите к домашнему фрагменту перед закрытием. Заранее большое спасибо!

 /**
     * On back pressed, always go to home fragment before closing
     */
    @Override
    public void onBackPressed() {
        //if stack has items left
        if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
            //get current fragment
            Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.mainFragment);

            //only close if in CategoryFragment else go to CategoryFragment
            if (fragment instanceof SearchFragment) {
                finish();
            } else {
                changeFragment(new SearchFragment());
            }
        } else {
            super.onBackPressed();
        }
    }

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

Если вы хотите сделать onBackPressed снова, чтобы выйти из режима активности, вы можете использовать это

public void onBackPressed() {
    count++;
    if (count > 1) {
        moveTaskToBack(true);
    } else {
        showToast("Press back again to Leave!");

        // resetting the counter in 2s
        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                count = 0;
            }
        }, 2000);
    }
}
0 голосов
/ 04 ноября 2018

OnBackPress

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish()
...