У меня есть подкласс InlineLabel, который я использовал в UIBinder. Как я могу вставить PlaceController в него через GIN, чтобы виджет можно было использовать в UIBinder? (напомним, что UIBinder требует конструктора без аргументов.)
Если это невозможно, каков самый чистый способ сделать PlaceController доступным для виджета, чтобы он мог использоваться виджетом во время событий onClick ()?
Edit:
Я не уверен, что MVP действительно является лучшим решением в этом случае (однако я рад, что вы передумали.)
У меня будут десятки этих экземпляров InlineLabel, объявленных в моем файле UIBinder foo.ui.xml. Если я реализую MVP, это означает, что каждый из этих экземпляров будет объявлен как член @UiField в представлении. Это становится довольно громоздким, когда у меня их так много. Вот почему я надеялся внедрить PlaceController в каждую из InlineLabels полуавтоматическим способом и избежать необходимости вручную подключать их к представлению.
Было бы также приемлемо, если бы был способ внедрить докладчика в каждую из InlineLabels ... тогда делегирование можно было бы сделать что-то вроде:
public class MyInlineLabelSubclass {
// ...
public void onClick(ClickEvent event)
{
presenter.labelClicked(this);
}
}