0

ダイアログ内で戻るボタンだけを具体的にオーバーライドして、ダイアログだけでなくアクティビティ全体を終了するにはどうすればよいですか。

setOnCancelListener と setOnDismissListener の使用は機能しません。これは、背後にあるアクティビティ全体を閉じずに単にダイアログを閉じる場合があるためです。

編集

うまくいくかもしれないシュバユに感謝します!

この関数を使用して、ダイアログの [戻る] ボタンだけにアクセスすることもできました。

dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
    @Override
    public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
        if (event.getKeyCode() == KeyEvent.KEYCODE_BACK){
        finish();
        }
    return false;
    }
});
4

3 に答える 3

0
  @Override  
    public boolean onKeyDown(int keyCode, KeyEvent event) {    
        if ((keyCode == KeyEvent.KEYCODE_BACK){        
        // your logic goes here   
            return true;    
        }    
        return super.onKeyDown(keyCode, event);
}

上記のコードを使用してください::

于 2012-04-07T03:18:30.560 に答える
0

オーバーライド

public void onBackPressed ()

アクティビティの、その動作を希望する方法で配置します。また、アクティビティの onBackPressed() 内で使用するダイアログからブール値を設定します。ブール値が true の場合、onBackPressed() コードの無効化部分を実行します。そうでない場合は実行しません。

于 2012-04-07T02:59:21.593 に答える