我試圖回到前面的片段時,單擊後退按鈕。如果頁面堆棧中沒有可用的頁面,則應該再次顯示回退退出。片段頁面堆棧計數始終爲0在android
我想這樣。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
int pageCount = getFragmentManager().getBackStackEntryCount();
if (pageCount != 0) {
this.getFragmentManager().popBackStack();
return true;
}
else
{
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
return true;
}
this.doubleBackToExitPressedOnce = true;
Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
doubleBackToExitPressedOnce=false;
}
}, 2000);
}
}
return super.onKeyDown(keyCode, event);
}
這裏我檢查頁數。但它總是顯示爲0。
我總是在所有fragment.replace
FragTrans.addToBackStack(null);
加入這一行,請幫我解決這個問題。當我點擊後退按鈕它應該轉到上一頁。如果沒有可用的頁面,則表示應顯示Toast消息。
確保不要混用FragmentManager和SupportFragmentManager。 – Okas