Android - OnDateChangedListener - как это установить?

В Android есть прослушиватель событий, который называется DatePicker.OnDateChangedListener . Я пытаюсь настроить представление DatePicker для прослушивателя, изменившего дату, следующим образом:

DatePicker dp = new DatePicker(getContext());
dp.setOnDateChangedListener(this); 
//where this is my activity extends DatePicker.OnDateChangedListener

Но угадайте, что? Средство выбора даты не имеет метода с именем setOnDateChangedListener .

Мой вопрос:

  1. Как тогда вы устанавливаете дату измененного слушателя в Android?
  2. Если невозможно установить слушателя с измененной датой, какова цель этого события?

Любая документация / учебные пособия будут очень полезны.

56
задан Georg Fritzsche 20 May 2010 в 18:52
поделиться

2 ответа

Возможно ли разделение частей БД и не-БД, чтобы БД могла взять на себя вызов самих хранимых процедур и баз данных, освобождающих вас для работы с другими частями системы? Это также предполагает, что существует DBA, который может активизировать и принять эту часть приложения.

Если это невозможно, тогда я бы предложил посмотреть, насколько велика база кодов и можно ли получить некоторую помощь, чтобы это не было на вас. Хотя это можно рассматривать как побочную ответственность, точка будет в том, что вещи не должны быть в руках только одного человека, как правило, как они могут исчезнуть иногда.

Удачи!

-121--4716694-

Благодаря Кевину, Митчу и Нафтоли Гугенхайму и Даниэлю Собралу в списке рассылки пользователей масштаба, у меня есть хороший ответ. Два предыдущих ответа работают, но приводят к экспоненциальному взрыву в количестве признаков, классов и конструкторов. Однако использование имплицитов и границ просмотра позволяет избежать этой проблемы. Шаги решения:

1) Задать нормальный параметр типа, представляющий тип его аргумента. 2) Определите импликты, принимающие Normal с правильным типом аргумента для того, который реализует соответствующий алгоритм. Например, makeImpression принимает нормальное значение [Важность] и создает нормальное значение важности. 3) Имплицитам нужно дать привязку типа. Причина в том, что без ограничения типа, если вы пытаетесь передать нормальный [T] makeImpression, где T является подтипом важности, он не будет работать, потому что нормальный [T] не является подтипом нормального [важности], потому что нормальный не является ковариантным. 4) Эти границы типа должны быть границами просмотра, чтобы позволить имплицитам связываться.

Вот полное решение:

class Model

trait Importance extends Model {
  def forward: Int
}

trait MCMC extends Model {
  def propose: String
}

class Normal[T <% Model](val arg: T) extends Model

class NormalImportance(arg: Importance) extends Normal(arg) with Importance {
  def forward = arg.forward + 1
}

class NormalMCMC(arg: MCMC) extends Normal(arg) with MCMC {
  def propose = arg.propose + "N"
}

object Normal {
  def apply[T <% Model](a: T) = new Normal[T](a)
}

object Importance {
  implicit def makeImportance[T <% Importance](n: Normal[T]): Importance = 
    new NormalImportance(n.arg)
}

object MCMC {
  implicit def makeMCMC[T <% MCMC](n: Normal[T]): MCMC = new NormalMCMC(n.arg)
}

object Uniform extends Model with Importance with MCMC {
  def forward = 4
  def propose = "Uniform"
}

def main(args: Array[String]) {
  val n = Normal(Normal(Uniform))
  println(n.forward) 
  println(n.propose)
}
-121--3926565-

После создания DatePicker необходимо инициализировать его с датой, которую нужно сначала отобразить. Это точка, с которого можно добавить прослушиватель .

См. DatePicker.init (int, int, int, OnDateChangedListener) .

106
ответ дан 26 November 2019 в 17:04
поделиться
3
ответ дан 26 November 2019 в 17:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: