Ответ 1
Намерение, которое собирается запустить, не дожидается отмены вашего диалога. Итак, сразу после отображения диалогового окна запускается новое действие. Вы можете выполнить то, что хотите:
public void ShowMessageDialog(String str){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(str);
builder.setCancelable(false);
builder.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Intent intent = new Intent(this,PageViewer.class);
startActivity(intent);
}
});
AlertDialog alert = builder.create();
alert.show();
}
public void test(String str){
ShowMessageDialog("About to start new activity");
}