我处于需要几秒钟后弹出警报对话框的情况。我用postDelayed()尝试了Handler,但是没有用。
new Handler().postDelayed(new
Runnable() {
@Override
public void run() {
AlertDialog.Builder builder = new AlertDialog.Builder(
MyActivity.this);
builder.setTitle("My title... ");
builder. setMessage("my msg..");
builder. setPositiveButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
Log. e("info", "OK");
}
});
builder.show();
}
});
}
}, 33000);
最佳答案
您必须在builder.show();下面添加这段代码。这个对我有用。
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
dialog.dismiss();
}
}, 1500); // 1500 seconds
编辑:
在您的情况下,我以不同的方式使用它。在这里您可以看到我的完整代码。以我为例,我只希望发出“模拟”进度对话框,一段时间后它消失。
protected void ActiveProgressDialog() {
final ProgressDialog dialog = ProgressDialog.show(getActivity(), "", getResources().getString(R.string.carregantInfo), true);
dialog.show();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
dialog.dismiss();
}
}, 1500); // 1500 milliseconds
}
}
关于android - Android:向警报对话框添加延迟,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22440043/