0

と をFragment ActivityホスティングしMapていListActivityます。に戻るボタンを押したときのメソッドを入れたいのですが、Activityまったく動作しないようです。私Logのはにさえ印刷されていませんStacktrace。実際に何が悪いのかわかりません。

メソッドは次のとおりです。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK ) {
           Log.e("Test","Back Button Clicked");

            this.finish();
            return true;
    }
    return super.onKeyDown(keyCode, event);
}
4

5 に答える 5

2

この種の機能が必要な場合は、アクティビティでそれをオーバーライドしてから、すべてのフラグメントにYourBackPressedインターフェイスを追加する必要があります。これは、戻るボタンが押されるたびに関連するフラグメントを呼び出します。

AndroidフラグメントにonBackPressed()を実装する方法からコピーしましたか?

于 2012-05-25T11:38:08.793 に答える
2
@Override 
public void onBackPressed(){ 
  Toast.makeText(getBaseContext(), "back button pressed", Toast.LENGTH_SHORT).show(); 
  Log.e("Test","Back Button Clicked");
  this.finish();
} 
于 2012-05-25T10:48:05.907 に答える
0

「if」ステートメントを削除して、何が起こるか見てみてください。

于 2012-05-25T10:51:12.653 に答える
0

試してみてください。必要に応じて機能する場合があります。

public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK) {
                Log.e("Test","Back Button Clicked");
    Intent backpage = new Intent(CurrentActivity.this,BackPageActivity.cls);
                    startActivity(backpage);
               CurrentActivity.this.finish();

                return true;
            }
            return super.onKeyDown(keyCode, event);    
        }
于 2012-05-25T10:59:38.363 に答える
0

問題が解決しました:

フラグメントに onBackPressed() を実装するには?

フラグメントで戻るボタンを使用するには、子アクティビティでもonKeyDown/メソッドを宣言する必要があります。onBackPressed()

于 2012-05-25T11:06:44.613 に答える