У меня есть объект контроллера верхнего уровня, который содержит ссылку на три объекта (MyObject
). Я бы хотел разместить их точно на странице в любое время, но я бы хотел, чтобы каждый объект также был редактируемым, и я не совсем уверен, как это сделать.
Пока у меня есть класс, который расширяет ItemFragment
и отображает мои отдельные элементы, например:
class MyObjectFragment(o: MyObject) : ItemFragment<MyObject>() {
override val root = hbox {
...
}
}
Между тем, у меня есть вид верхнего уровня со ссылкойна мой контроллер, вот так:
class TopLevelView : View() {
val controller = TopLevelController()
override val root = hbox {
add(MyObjectFragment(controller.myObject1))
...
add(MyObjectFragment(controller.myObject2))
...
add(MyObjectFragment(controller.myObject3))
}
}
И сейчас все, что у меня есть для контроллера верхнего уровня, это:
class TopLevelController() : Controller() {
val myObject1 = MyObject()
val myObject2 = MyObject()
val myObject3 = MyObject()
}
Я пытаюсь выяснить, что мне нужносделать, чтобы обернуть эти объекты как наблюдаемые значения. Моей первой попыткой было добавить что-то вроде этого в метод init MyObjectFragment
:
class MyObjectFragment(o: MyObject) : ItemFragment<MyObject>() {
init {
itemProperty.bind(o)
}
...
}
Однако этот метод требует только ObservableValue<MyObject>
. Каков наилучший способ связать все это вместе?