自动关闭警报对话框

时间:2012-02-22 00:35:20

标签: android android-emulator

我需要在两种不同情况下自动关闭警报对话框

  1. 收到我正在等待的返回值
  2. 后自动关闭对话框
  3. 10秒无用户输入后自动关闭对话框。我知道我应该使用某种类型的计时器,但不知道如何用对话框附加它。
  4. 我知道并理解它处理UI的方法不正确,但我的要求需要我这样做。

    请分享您的想法,

    谢谢,

    SKU

2 个答案:

答案 0 :(得分:4)

1-对于第一种情况:

AlertDialog alertDialog = new AlertDialog.Builder(Main.this).create();
...
alertDialog.show();
int valueIamWaitingFor = 5;
if (aValue == valueIamWaitingFor){
    alertDialog.hide();
}

2-对于第二种情况:

private static final ScheduledExecutorService executor = 
  Executors.newSingleThreadScheduledExecutor();
public AlertDialog alertDialog = new AlertDialog.Builder(Main.this).create();
...
alertDialog.show();
Runnable hideDialog= new Runnable() {
    public void run() {
       this.alertDialog.hide();
    }
};
executor.schedule(hideDialog, 10, TimeUnit.SECONDS);

答案 1 :(得分:0)

从AlertDialog继承自定义Dialog,您可以在onStart中处理计时器。使用AsyncTask可以很好地进行倒计时。

自动关闭对话框并不坏......至少我们总是在改变屏幕分辨率(win xp)时看到这一点,这对于这种情况是有益的。也许你也可以在按钮上加上倒数计时器(比如“5秒内关闭”)。