对话框仅显示第二次按下按钮以激活它

时间:2012-07-11 14:32:10

标签: android dialog show-hide timepicker android-datepicker

TimePickerDialogDatePickerDialog存在问题, 代码如下:

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也会出现同样的问题。有没有人有任何想法?

听众没有做任何事情。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我遇到了类似的问题 在模拟器上一切都还可以,但在三星Galaxy Note [android 4]上显示DialogDatePicker每次都失败了。我怀疑隐藏/解雇DialogDatePicker是错误的。

在添加'ok'按钮的监听器后,所有内容都正常工作。

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");
      }
   }
});