RecyclerView click listener, почему этот более простой подход не используется чаще - PullRequest
0 голосов
/ 06 июня 2018

Новое в разработке для Android здесь.Я создаю RecyclerView, который представляет новую активность при нажатии определенных элементов.Я искал в Интернете, и все они определяли бы интерфейс прослушивателя кликов, передавали слушателя для просмотра держателей и, в конечном счете, вызывали startActivity из основного действия.

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

override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
        when (holder) {
            is certainViewHolder -> {
                holder.itemView.setOnClickListener {
                    val intent = Intent(holder.itemView.context, DetailedActivity::class.java)
                    holder.itemView.context.startActivity(intent)
                }
            }
            else -> ...
        }
    }

1 Ответ

0 голосов
/ 06 июня 2018

В вашем подходе нет ничего плохого, и многие его используют.Обычно первый подход используется большую часть времени, потому что вызов метода с использованием интерфейса является хорошей практикой.Когда мы создаем проект, используя определенную архитектуру, такую ​​как MVP, MVVM или любую другую, нам нужно вызывать все методы, используя интерфейс.В настоящее время в вашем проекте вам просто нужно начать действие, но много раз мы выполняем более длинную и сложную задачу, поэтому ее лучше выполнять в соответствующей деятельности.Через мы можем собрать все методы в одном месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...