私はアンドロイドアプリケーションを開発しています。アプリケーションで [戻る] ボタンを押したときに、本当に終了したい場合は、プロンプト (警告ダイアログのようなもの) が表示されることを願っています。この警告ダイアログをどこに置くべきか、ユーザーがアプリケーションを終了したい場所である [はい] ボタンに何を書くべきかわかりません。私を助けてください。
質問する
2106 次
5 に答える
8
OnBackPressed()
関数をオーバーライドできます。
@Override
public void onBackPressed()
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Exit");
builder.setMessage("Are You Sure?");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
finish();
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog alert = builder.create();
alert.show();
}
于 2012-12-18T08:38:21.953 に答える
3
@Override
public void onBackPressed() {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(
AppDemoActivity.this);
alertDialog.setPositiveButton("Yes", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
alertDialog.setNegativeButton("No", null);
alertDialog.setMessage("Do you want to exit?");
alertDialog.setTitle("AppTitle");
alertDialog.show();
}
これを使用して、Back Pressed に関するアラートを表示します
于 2012-12-18T08:39:59.350 に答える
2
これは、[戻る] ボタンをオーバーライドする別の方法です。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Toast.makeText(getApplicationContext(), "Back Pressed", Toast.LENGTH_LONG).show();
return true;
}
return super.onKeyDown(keyCode, event);
}
ありがとう。
于 2012-12-18T08:43:51.420 に答える
1
@Override
private void onBackPressed() {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle("Do you really want to exit?");
alertDialogBuilder
.setMessage("Click yes to exit!")
.setCancelable(false)
.setPositiveButton("Yes",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
// if this button is clicked, close
// current activity
ThisActivity.this.finish();
}
})
.setNegativeButton("No",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
// if this button is clicked, just close
// the dialog box and do nothing
dialog.cancel();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
于 2012-12-18T08:46:04.453 に答える
1
をオーバーライドしonBackPressed
てアラートを表示し、yes
ボタンfinish
でアクティビティを表示できます。
public void onBackPressed() {
//show alert here
}
于 2012-12-18T08:36:54.420 に答える