web-dev-qa-db-ja.com

androidで戻るボタンを無効にする方法

スワップアプリケーションを作成しています...戻るボタンを無効にしたいのですが。だから私はこのコードを使用します...そしてそれに意図を渡しました...

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        // do something on back.
        return true;
    }

    return super.onKeyDown(keyCode, event);
}

実行中にエミュレータの戻るボタンを押すとアクティビティが更新されますが、戻るボタンをもう一度押すとエミュレータのホームページに切り替わります。他の方法をお勧めします

13
Sam
@Override
public void onBackPressed() {
    // do nothing.
}
62
Saurabh Pareek
 @Override
 public void onBackPressed() {

    //super.onBackPressed();
    if(SOME_CONDITION_TO_CHECK){
        //THIS BLOCK WILL NOT DO ANYTHING AND WOULD DISABLE BACK BUTTON             
    }else{
       super.onBackPressed();
       //THIS BLOCK WILL BE CALLED IF ABOVE COND IS FALSE, AND WOULD ENABLE BACK BUTTON
    }   

 }
17
Ali Ashraf

OnBackPressed()を試しましたか?

@Override
public void onBackPressed() {
       // Do as you please
}
6
Codemonkey

これは、Android 2.2を使用して機能する私のソリューションです。

onBackPressed()をオーバーライド...

public void onBackPressed() {
   // check if you are in the right mode 
   if (getCurrentState() == FORM_STATE_BROWSE ) {
       // ok do default back action
       super.onBackPressed();
   }

   // exit skipping "onBackPressed()"
   return;
}
3
Stefano

あなたmustこれがすべてのデバイスで正常に動作するためにリターンを追加します。リターンを含めない場合、私のNote-3とHTCはまだ戻ります!

  @Override
  public void onBackPressed() {
        return;
  }
2
Petro

戻るボタンを押してアクティビティに移動したい場合のように、アクティビティでこのメソッドをオーバーライドします

 @Override
    public void onBackPressed() {
        // do nothing.
        Intent intent = new Intent(SocialPlugIns.this, MainActivity.class);
        Log.i("Hello", "This is Coomon Log");
        startActivity(intent);
           return;
    }
1
Kirtikumar A.

onBackPressed()関数をオーバーライドする必要があります。以下に私は方法を与えています:

   @Override
    public void onBackPressed() {
       //make some alert for the user
    }
0
Akhter Al Amin