Android Alert Dialog - как скрыть кнопку ОК после ее нажатия - PullRequest
10 голосов
/ 27 ноября 2010

Я занимаюсь разработкой приложения для Android.

Я хотел бы скрыть кнопку ОК после того, как пользователь нажмет ее, поскольку диалоговое окно будет оставаться на переднем плане в течение нескольких секунд, пока выполняются вычисления.

Это код:

    new AlertDialog.Builder(this)
    .setMessage("This may take a while")
    .setPositiveButton("OK", new android.content.DialogInterface.OnClickListener() {                
        @Override
        public void onClick(DialogInterface dialog, int which) {
                       // hide the OK button - how?
                       // a lot of computation
        }
    })
    .show(); 

Как мне этого добиться?

PS: мне неинтересны более продвинутые методы обработки вычислений (например, прогресс)диалоги, многопоточность).

Спасибо.

Ответы [ 3 ]

20 голосов
/ 28 ноября 2010
.setPositiveButton("OK", new android.content.DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
         ((AlertDialog)dialog).getButton(which).setVisibility(View.INVISIBLE);
         // the rest of your stuff
    }
})
1 голос
/ 10 апреля 2017
setPositiveButton("Ok", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int id) {
        dialog.dismiss();

, где dialog равно DialogInterface.

0 голосов
/ 27 ноября 2010

Вы можете установить видимость кнопки как невидимую.

ok.setVisibility(View.INVISIBLE);
...