Я пытаюсь выяснить, как вызывать функцию из отдельного класса при работе с Anko.
Я пробовал различные стратегии, но вернулся к примеру документации Anko Component
class UserOrder : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
super.onCreate(savedInstanceState, persistentState)
UserOrderUI().setContentView(this)
}
}
class UserOrderUI : AnkoComponent<UserOrder> {
override fun createView(ui: AnkoContext<UserOrder>) = with(ui) {
val util = Util()
verticalLayout {
val name = editText()
button("Say Hello") {
}
linearLayout {
util.test()
}
}
}
}
class Util{
fun _LinearLayout.test(){
button("Say Hello") {
}
}
}
Приведенный выше код рядом с util.test () говорит, что не может найти функцию.
У меня такой вопрос: как я могу вызвать функцию из отдельного класса (для поощрения кодаповторное использование), который возвращает макет (вертикальный план для этой цели)
Например:
fun getLayout(): LinearLayout {
return linearLayout {
//stuff in here
}
}
Иногда я получаю сообщение об ошибке, что представление уже установлено, или что у ребенка уже есть родительи мне нужно сначала использовать removeView () для родителя.