Как установить кнопку "Отмена" в диалоговом окне "Прогресс"?
Я хочу установить кнопку отмены в 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();
}
});
Но он не работает. Я тоже пробовал других подобных слушателей, но до сих пор не добился успеха.
Как я могу решить эту проблему?
Ответы
Ответ 1
Используемый метод 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();
Ответ 2
Убедитесь, что вы вызываете myDialog.setButton
перед вызовом myDialog.show();
Также вы можете использовать myDialog.setButton("Cancel", (DialogInterface.OnClickListener) null);
, если вам нужно закрыть диалоговое окно при нажатии кнопки.
Ответ 3
проверьте это
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");