#android #button #listactivity #back #activity-finish
#Android #кнопка #listactivity #Назад #действие -готово
Вопрос:
я использую следующий код для завершения действия, но я хочу завершить действие списка при повторном нажатии события. помогите мне, заранее спасибо
public void onBackPressed() {
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setMessage("Want to exit ?");
alertDialog.setButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
for(Activity activity:activities)
activity.finish();
} });
alertDialog.setButton2("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}});
alertDialog.show();
}
Комментарии:
1. для (Activity activity: activities) activity. finish(); — поддерживаете ли вы список действий в своем приложении
Ответ №1:
Я не изменяю ваш код, просто я предлагаю новый код здесь,
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_BACK){
new AlertDialog.Builder(ProgressController.this).setTitle(
"Attention").setMessage(
"Want to exit ?")
.setPositiveButton("YES",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
finish();
}
}).setNegativeButton("NO",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
}
}).show();
return true;
}else{
return false;
}
//return super.onKeyDown(keyCode, event);
}
Ответ №2:
Ваш код должен быть изменен, как показано ниже..
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setMessage("Want to exit ?");
alertDialog.setButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
} });
alertDialog.setButton2("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}});
alertDialog.show();
}
Комментарии:
1. ваше предложение полезно, но оно такое же, как и мой код.
Ответ №3:
Добавьте прослушиватель отмены в диалоговое окно оповещения и закройте свою активность изнутри.
alertDialog.setCancelable(true);
alertDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
finish();
}
});