我有一个AlertDiaog.Builder实例,我想在NegativeButton上点击。然后我想执行一个AyncTask。所有这些都是在摇动我的设备时发生的。
目前,即使在执行AyncTask之后,AlertDialog.builder也不会被忽略。
showDialog()从另一个按钮单击执行,其中一切都很完美。仅在设备震动时才会出现此问题。
这是我的代码:
@Override
public void onShake(float force)
{
// TODO Auto-generated method stub
hour = cal.get(Calendar.HOUR);
hour = hour+1;
mins = cal.get(Calendar.MINUTE);
timeString = hour+":"+mins+":"+today.second;
showDialog(timeString, "");
}
public void showDialog(String timeString, String title)
{
builder = new AlertDialog.Builder(getActivity());
builder.setTitle(title);
builder.setMessage("Reaching at:"+" "+ timeString+"?");
builder.setNegativeButton("NO", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Do nothing
dialog.dismiss();
dialog.cancel();
}
});
builder.setPositiveButton("YES", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which)
{
// Do nothing but close the dialog
dialog.cancel();;
new AddStatusTask().execute();
}
});
alert = builder.create();
alert.show();
}
感谢任何帮助
答案 0 :(得分:0)
奇怪的是,即使没有dismiss()或cancel(),对话框也会在正面或负面关闭;尝试使用builder.show();
代替alert = builder.create(); alert.show();
。