アプリケーションに戻るボタン機能を実装したい。アプリケーションで、真ん中の戻るボタンをクリックしているときはいつでも、私のコントロールは直接ログインページに行くので、onKeyDown()
またはonBackPressed()
メソッドをオーバーライドする場所を誰かに教えてもらえますか?
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Log.e("back key pressed","Back key pressed");
return true;
}
return super.onKeyDown(keyCode, event);
}
onCreateの内側とonCreateの外側も書いているので、うまくいきません......
Android 2.0以前の電話をサポートするかどうかによって異なります。 onBackPressed()
メソッドがAndroid 2.0(API 5)に追加されました。
詳細については、Android開発者ブログ)のこの投稿をご覧ください。
http://Android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html
以下のコードを参照してください。 onCreateの外側に書き込む
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
//replaces the default 'Back' button action
if(keyCode==KeyEvent.KEYCODE_BACK)
{
Intent intent = new Intent(currentActivity.this, RequiredActivity.class);
finish();
startActivity(intent);
}
return true;
}
はい、その戻るボタンを上書きできます
public void onBackPressed() {
Intent start = new Intent(currentclassname.this,which activity u want.class);
startActivity(start);
finishActivity(0);
}
これにより、任意のアクティビティに移動できます。これは非常に簡単でシンプルな方法です
履歴スタックからログインアクティビティを削除することについて懸念がある場合。
Finish();を実行します。ログインアクティビティで他のアクティビティを開始したとき