バックスタックが空の場合にのみアプリケーションを終了します。戻るボタンを2回押して、何らかの状態でアプリを終了します
私のアプリの1つのセクションには、画像がクリックされると、フルスクリーンイメージを示す断片が開くギャラリーが含まれています。このフルスクリーンイメージで戻るボタンが押されると、私はギャラリーの断片に戻りたいと思います。私はフラグメントをバックスタックに追加することでこれを行いました。
しかし、アプリケーションの他の部分では、戻るボタンを押すと、「終了するにはもう一度BACKをクリックしてください」というトーストを表示したいと思います。また、戻るボタンを押すと、アプリは終了します。これどうやってするの?
これは私がこれまでにやっていることです:
boolean doubleBackToExitPressedOnce = false;
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount() > 0){
getFragmentManager().popBackStack();
} else {
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
return;
}
this.doubleBackToExitPressedOnce = true;
commonTasks.ShowStringMessage("Please click BACK again to exit");
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
doubleBackToExitPressedOnce=false;
}
}, 2000);
//super.onBackPressed();
}
}
もちろん、それは動作しませんでした。
フラグメントをバックスタックに追加するかどうかは、getFragmentManager()またはgetSupportFragmentManager() – Nitesh
@Nitesh:getFragmentManager()を使用して確認してください。手伝ってくれますか? –
あなたのコードは私にはうまく見えています..戻るボタンを押しているとき何が起きているのか教えてください。 – Nitesh