Как установить кнопку отмены в диалоге выполнения?
Я хочу установить кнопку отмены в моем ProgressDialog
. Ниже приведен мой код:
myDialog = new ProgressDialog(BaseScreen.this);
myDialog.setMessage("Loading...");
myDialog.setCancelable(false);
myDialog.show();
Я хочу установить кнопку с onClickListener
на ProgressDialog
.
Я пробовал с этим кодом:
myDialog.setButton("Cancel", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
myDialog.dismiss();
}
});
но это не работает. Я пробовал и других подобных слушателей, но все равно безуспешно. Как я могу решить эту проблему?
3 ответа:
The
setButton
метод, который вы используете, устарел (хотя он все равно должен работать). Кроме того, вы можете добавить кнопку до отображение диалогового окна. Попробуйте:myDialog = new ProgressDialog(BaseScreen.this); myDialog.setMessage("Loading..."); myDialog.setCancelable(false); myDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); myDialog.show();
убедитесь, что вы называете
myDialog.setButton
перед вызовомmyDialog.show();
Также вы можете использоватьmyDialog.setButton("Cancel", (DialogInterface.OnClickListener) null);
Если вам нужно только, чтобы закрыть диалоговое окно по нажатию кнопки.
проверить это
private void createCancelProgressDialog(String title, String message, String buttonText) { cancelDialog = new ProgressDialog(this); cancelDialog.setTitle(title); cancelDialog.setMessage(message); cancelDialog.setButton(buttonText, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Use either finish() or return() to either close the activity or just the dialog return; } }); cancelDialog.show(); }
тогда просто используйте простой метод вызова из другого места в вашей деятельности
createCancelProgressDialog("Loading", "Please wait while activity is loading", "Cancel");