Диалог Android Alert - Как скрыть кнопку ОК после нажатия

StackOverflow https://stackoverflow.com/questions/4291548

  •  28-09-2019
  •  | 
  •  

Вопрос

Я разрабатываю приложение для 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: Мне не интересно для более передовых методов для обработки вычислений (таких как: диалоги прогресса, многопоточная).

Спасибо.

Это было полезно?

Решение

.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
    }
})

Другие советы

setPositiveButton("Ok", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int id) {
        dialog.dismiss();

куда dialog является DialogInterface.

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

ok.setVisibility(View.INVISIBLE);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top