Android DatePicker не распознает, когда год был изменен, набрав - PullRequest
4 голосов
/ 04 марта 2011

У меня есть DatePicker, который работает почти так же, как и ожидалось, за исключением случаев, когда вместо кнопок +/- пользователь вводит поля.В этот момент, несмотря на то, что он показывает введенные значения, он получает информацию о том, какая дата была там до того, как пользователь печатал.Как только пользователь нажимает + или - он обновляется.

Я вижу метод обновления, который принимает значения, а это не то, что мне нужно.Я хочу спровоцировать его на повторное изучение его значений, когда пользователь нажимает кнопку «продолжить» (не связанную с DatePicker).Я могу прикрепить слушателя к потере фокуса, но я не вижу, что я могу назвать, чтобы заставить его пересмотреть его содержание.

Все идеи приветствуются.

РЕДАКТИРОВАТЬ DatePicker определенно обновляет свои значения, как только пользователь перемещает фокус либо от всего объекта или даже между тремя полями.Я думаю, вопрос в том, как отвести фокус от него, когда на экране больше ничего не может сфокусироваться.Я пытаюсь сфокусировать свою кнопку продолжения, но она почему-то отказывается фокусироваться.Хотелось бы узнать об этом больше, если кто-нибудь знает.

Ответы [ 2 ]

6 голосов
/ 07 октября 2011

Просто нужно очистить фокус на 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 + ")");
 }
 });
0 голосов
/ 05 марта 2011

Попробуйте снова сфокусировать (requestFocus()) DatePicker на методе onPress кнопки продолжения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...