Есть ли способ создать фрагмент из кнопки изображения activty-адаптера? - PullRequest
0 голосов
/ 23 марта 2020

Мне нужно создать фрагмент из activty-адаптера по нажатию кнопки изображения и передать 3 данных по

, имеющему проблемы с фрагментом, или оно говорит android .app.Application. Невозможно привести приложение к android. app.Activity

, пожалуйста, помогите кому-нибудь код в изображении

код, который я пытался

1 Ответ

0 голосов
/ 24 марта 2020

Простой способ сделать это (хотя вы, вероятно, должны общаться через viewModel, что выходит за рамки этого вопроса):

Сначала подключите прослушиватель к адаптеру

class FakeAdapter(private val items: List<String>, private val startFragmentCallback: () -> Unit) :
    RecyclerView.Adapter<FakeViewHolder>() {

Затем в onBindViewHolder:

override fun onBindViewHolder(holder: FakeViewHolder, position: Int) {
        holder.itemView.setOnClickListener { // in your case this might be holder.commenting - but i don't know what 'commenting' is
            startFragmentCallback.invoke()
        }
    }

Затем в Activity есть приватная функция для создания фрагмента:

private fun startFragmentCallback() {
        // code to start fragment goes here
    }

И затем используйте эту функцию при создании адаптера в активности:

 val listOfStrings = listOf("1", "2", "3")
 val adapter = FakeAdapter(listOfStrings, this::startFragmentCallback)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...