Android BottomSheet и Dynami c Содержание - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть нижний лист, где я могу динамически передать ему идентификатор макета, который я хочу показать. Это отлично работает! Проблема в том, что для меня несколько громоздко назначать слушателей, которых я хочу, каждому элементу пользовательского интерфейса этого макета.

Я также могу передать присвоение предварительно инфальтированного представления со всеми назначенными слушателями члену нижнего листа, который также работает.

Мне было интересно, есть ли лучшая практика для этого или какие-то плюсы / минусы в подходах!

Спасибо!

1 Ответ

0 голосов
/ 03 апреля 2020

Если я правильно понял, Вы можете определить al oop на ViewGroup из Inflated и получить каждый из View, наконец, определить onClickListener и установить его для представлений


override fun onViewInflated() {

        viewGroupInflated?.forEach {
            it?.setOnClickListener(onClickListener)
        }
    }


private val onClickListener = View.OnClickListener {
    when(it.id){
        R.id.btn_a -> //Todo an action
        R.id.btn_b -> //Todo an action
    }
}
...