1

フラグメントで私はこれを持っています:

onPause(){

super.onPause();
if(flag){
getActivity.finish();
}else{
}
}

onResume(){

flag = true;
super.onResume();
}

ボタンがあります。クリックすると、このフラグがfalseに設定されます。

Button.onClick{
flag = false;
}

アイデアは次のとおりです。

ボタンがクリックされたときに、このアクティビティを終了しないでください。ただし、デバイスのBackButtonが押された場合はfinish()。

しかし、このロジックは機能していません。その理由は、デバイスのBackButtonを押しても、 onPauseが呼び出されていないためです。

これは、アクティビティの4番目のフラグメントです。したがって、BackButtonを押すと、3番目のフラグメントが表示されます。私はしたくないです。

これをAPI10デバイスで使用していますが、アプリケーションでサポートライブラリv4を使用しています。

ありがとうございました。

4

2 に答える 2

-1

Fragment の onDetach() を使用できないのはなぜですか? Back キーを押すと、フラグメントに対して onDetach() が呼び出されて削除されます。

@Override
public void onDetach() {
   super.onDetach();
   if(flag){
     getActivity.finish();
   }else{
        }
}
于 2013-02-03T01:10:10.747 に答える