禁用POSITIVE_BUTTON(“继续”)5秒钟

时间:2011-04-26 11:18:46

标签: android button timeout visibility alertdialog

我有一个警报弹出窗口,我在我的应用程序启动时显示。我希望用户通读它,所以我想将继续按钮变灰5秒,然后启用它以便用户可以继续。


 if (alertDialog == null) {
     alertDialog = new AlertDialog.Builder(this).setPositiveButton("Continue",
                    new AlertDialog.OnClickListener() {
                         public void onClick(DialogInterface dialog, int which) {
                             //continue with the app
                         }
                    }).create();
                    alertDialog.setTitle("My Title");
                    alertDialog.setView(myView);
                }
                if ((!alertDialog.isShowing())) {
                    alertDialog.show();
                    alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
                }

将按钮设置为false后,我无法将其设置为true。我尝试使用Thread.sleep(5000l)并创建自己的对话框。 Niether他们工作。我怎样才能实现我的目标?

谢谢, AKASH

1 个答案:

答案 0 :(得分:4)

在用户代码的回调完成后,UI元素都会一次性呈现。这就是为什么只添加延迟无济于事。

您可能想要启动一个线程或AsyncTask方法,doInBackground方法正在倒计时(可能在一个循环中,因此您可以在ok字段中显示一个计数器),然后在{{ 1}}启用按钮

的伪代码:

onPostExecute