自动关闭警报对话框
问题描述:
我有需要,我不得不自动关闭警报对话框中2种不同的情况下自动关闭警报对话框
- 自动关闭对话框后,我得到它我在等待
- 自动返回值 - 在用户没有输入10秒后关闭对话框。我知道我应该使用某种计时器,但不知道如何将它与对话框连接起来。
我知道并理解它不正确的方式来处理用户界面,但我的要求需要我这样做。
请分享你的想法,
感谢,
SKU
答
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);
嗨扎卡里亚......我跟着你与案例2做了什么。但WRT的情况1,我正在等待返回值的字符串,这将大多数最少4秒(从一个单独的线程)到最大8秒返回。我不确定您的案例1的代码片段是否可以使用?你能解释一下那部分吗? – sku 2012-02-22 03:19:22
@sku:出于好奇,是什么让你确定该值会在8秒内返回最大值? – Zakaria 2012-02-22 08:02:07
它只是因为长时间的观察,如果它没有在8秒内回答答案......有什么问题。 – sku 2012-02-22 21:36:56