Android DatePicker无法识别何时通过键入更改年份

时间:2011-03-04 20:12:54

标签: android datepicker

我有一个DatePicker几乎可以按预期工作除了使用+/-按钮而不是使用+/-按钮时,用户在字段中输入。此时,即使它显示键入的值,它的getters也会返回用户输入之前的日期信息。一旦用户点击+或 - 它就会更新。

我看到一个采用值的更新方法,这不是我想要的。当用户点击“继续”按钮(与DatePicker无关)时,我想激发它重新检查它的值。我可以让一个听众失去焦点,但我没有看到我可以调用它来重新检查它的内容。

欢迎所有想法。

修改 一旦用户将焦点移离整个对象或甚至三个字段之间,DatePicker肯定会更新其值。我想,问题是当屏幕上没有其他任何可以聚焦的东西时,如何强迫焦点远离它。我正在尝试关注我的继续按钮,但由于某种原因拒绝关注。如果有人知道,也愿意更多地了解这一点。

2 个答案:

答案 0 :(得分:6)

只需要在DatePicker上清除焦点。不需要隐藏的领域。

final DatePicker dp = (DatePicker)v.findViewById(R.id.dpDate);

dlg.setPositiveButton("Done", new DialogInterface.OnClickListener() {
 public void onClick(DialogInterface dialog, int id) {
      dp.clearFocus();
      String val = "";
      int m = dp.getMonth() + 1;
      val = m + "/" + dp.getDayOfMonth() + "/" + dp.getYear();
      mA.setmDOB(val);
      etAge.setText(AppHelper.calcAge(val, "y", false) + "  (" + val + ")");
 }
 });

答案 1 :(得分:0)

尝试将再次聚焦(requestFocus())DatePicker放在“继续”按钮的onPress方法上。