1

TimePickerDialog我对and有一些问题DatePickerDialog,代码如下:

public void onClick(View v) {
    if (v.equals(checkInTime)) {
        showDialog(1);
    }

@Override
protected Dialog onCreateDialog(int id) {
    if (id == 1) {
        return new TimePickerDialog(this, this, dt.getHourOfDay(), dt.getMinuteOfHour(), true);
    }

    return super.onCreateDialog(id);
}

它就像一个魅力,直到我在对话框中按下“设置”,然后下次我点击按钮什么都没有发生(对话框没有出现),但如果我再点击一次,对话框再次显示。它每次都显示,直到我按下“设置”,然后单击一次将不起作用,但在下次单击时再次开始工作。

DatePickerDialog 也会出现同样的问题。有没有人有任何想法?

听众什么也不做。

4

2 回答 2

0

调用dismiss()您的对话框 ( TimePickerDialog) 是问题所在。它与调用cancel(),相同onBackPress(),因为它调用dismiss(). 相反,您可以调用hide().

于 2012-07-21T11:23:20.967 回答
0

我遇到了类似的问题。
在模拟器上一切正常,但在三星 Galaxy Note [android 4] 上,每秒钟都显示 DialogDatePicker 失败。我怀疑隐藏/关闭 DialogDatePicker 是错误的。

为“确定”按钮添加侦听器后,一切都开始正常工作。

DatePickerDialog dpd = new DatePickerDialog(this, callBack, fakeYear, fakeMonth, fakeDay);
dpd.setButton(DialogInterface.BUTTON_POSITIVE, getString(android.R.string.ok), new DialogInterface.OnClickListener() {
   public void onClick(DialogInterface dialog, int which) {
      if (which == DialogInterface.BUTTON_POSITIVE) {
         System.out.println("here nothing more is needed");
         System.out.println("dialog closed and next time appear again");
      }
   }
});
于 2012-12-28T13:19:05.673 回答