アラートダイアログが表示されたら、どのようにバックボタンを押すことができますか? 私はユーザーに「本当に変更を破棄しますか?」と尋ねなければなりません。戻るボタンのリスナー
現時点では、画面に入力する警告ダイアログが表示されます。
アラートダイアログが表示されたら、どのようにバックボタンを押すことができますか? 私はユーザーに「本当に変更を破棄しますか?」と尋ねなければなりません。戻るボタンのリスナー
現時点では、画面に入力する警告ダイアログが表示されます。
あなたの最初の質問は、あなたがしたいことについてはっきりしていませんでした。したがって、ユーザがEditText
に何らかのタイプを入力した後に戻るボタンを押したときにダイアログを表示したい場合は、アクティビティクラスのメソッドを@Override
にする必要があります。
@Override
public void onBackPressed() {
// Here you want to show the user a dialog box
new AlertDialog.Builder(context)
.setTitle("Exiting the App")
.setMessage("Are you sure?")
.setPositiveButton("YES", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// The user wants to leave - so dismiss the dialog and exit
finish();
dialog.dismiss();
}
}).setNegativeButton("NO", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// The user is not sure, so you can exit or just stay
dialog.dismiss();
}
}).show();
}
あなたが受け入れ答えhereで見ることができます。
しかし、あなたは唯一のダイアログ自体のバックボタンの押しを処理したい場合は、この質問の答えはすでにあります - 基本的に次のようなダイアログでOnKeyListener
を設定します。
dialog.setOnKeyListener(new Dialog.OnKeyListener() {
@Override
public boolean onKey(DialogInterface arg0, int keyCode,KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK) {
/* The user pressed back button - do whatever here.
Normally you dismiss the dialog like dialog.dismiss(); */
}
return true;
}
});
を見受け入れられた答えhere。
だから私はこのように気にいらをしなければなりませんか? if(keyCode == KeyEvent.KEYCODE_BACK){ AlertDialog.Builder di = new AlertDialog.Builder(); .... } –
最初に 'dialog'を宣言してから' OnKeyListener'を追加する必要があります。あなたはこれを行う方法を知っていますか? – ishmaelMakitla
まあ...私はshureではない...しかし、今私はバックボタンを聞いてからダイアログを持っている。あなたのコードが正しく動作するようにする必要があります。 –
builder.setNegativeButton(R.string.btn_rev, new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
//если что-то ввели и нажали Назад
if (edText.getText() != null) {
// onBackPressed(); //here's code for back-button
}
}
});
それは答えではありません。これは、このコードを新しいコードを貼り付けるための私のコードです。 –
http://stackoverflow.com/a/7080331/1179430 – GAntoine