AlertBox вызывает намерение без нажатия на положительную кнопку - PullRequest
0 голосов
/ 02 апреля 2012

Извините, что задаю этот вопрос еще раз, но я попробовал несколько решений для stackoverflow и других групп андроидов, но ни одно из них не помогло мне.

В действии onBackpressed я хочу отобразить окно с предупреждением "Выход из приложения"?»и если пользователь нажимает кнопку «Да», я хочу, чтобы перейти к запуску (домашней) активности моего приложения, в противном случае оставайтесь на той же странице при нажатии кнопки «НЕТ».Проблема заключается в том, что после отображения окна с предупреждением я автоматически перенаправляюсь на панель запуска (домой), прежде чем нажимать кнопку YES

Plz help

CODE:

public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
Log.i(TAG, "BACK PRESSED");
AlertDialog.Builder renameDialog = new AlertDialog.Builder(MainMenu.this);
renameDialog.setTitle("Warning");
renameDialog.setMessage("Do you want to logout?");
renameDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
launchIntent();
}
 });

renameDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
arg0.cancel();       
}
 });
renameDialog.show();
}

 private void launchIntent() {
Log.i("positive button","pressed");
Intent i=new Intent(MainMenu.this,LoginActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
Log.e("from main menu","calling login");
startActivity(i); 
}

Ответы [ 2 ]

3 голосов
/ 02 апреля 2012

Вам нужно переместить super.onBackPressed(); внутрь прослушивателя щелчка положительной кнопки, поскольку он просто завершит текущее действие.Или, если хотите, просто закомментируйте эту строку (исключите ее), поскольку текущая логика показывает, что вы пытаетесь запустить новое действие, если нажата положительная кнопка.

0 голосов
/ 02 апреля 2012

Не вызывайте super.onBackPressed ()!

...