我如何处理警报对话框中的超时。它有标准的是/否按钮,但如果用户在 5 分钟内没有按下任何按钮,我想调用 no 按钮代码。我查看了 Android 页面中的类,没有可以调用的函数来设置超时。
问问题
8814 次
3 回答
10
我使用了一个对话框来实现这一点,而不是使用警报对话框。
new Handler().postDelayed(new Runnable() {
public void run() {
yourDialogObj.dismiss();
}
}, 2000);
这里 2000 是毫秒,
希望这可以帮助
于 2013-07-13T09:38:06.643 回答
6
这是一个例子,希望对您有所帮助。
public class MainActivity extends Activity {
static final int TIME_OUT = 5000;
static final int MSG_DISMISS_DIALOG = 0;
private AlertDialog mAlertDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
createDialog();
}
private Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case MSG_DISMISS_DIALOG:
if (mAlertDialog != null && mAlertDialog.isShowing()) {
mAlertDialog.dismiss();
}
break;
default:
break;
}
}
};
private void createDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setPositiveButton("OK", null)
.setNegativeButton("cacel", null);
mAlertDialog = builder.create();
mAlertDialog.show();
// dismiss dialog in TIME_OUT ms
mHandler.sendEmptyMessageDelayed(MSG_DISMISS_DIALOG, TIME_OUT);
}
}
于 2013-07-13T09:49:10.620 回答
1
您可以使用 Handler 来解决您的问题。你只需要像这个页面一样有一个倒计时
它让你知道如何做到这一点。希望它可以帮助你。
于 2013-07-13T09:30:57.310 回答