getAdapterPosition всегда возвращает -1 - PullRequest
0 голосов
/ 11 октября 2019

Я использую библиотеку поклонников и ее адаптер для управления моим RecyclerView. у меня есть список имен пользователей и сообщений, но всякий раз, когда я использую adapter.getAdapterPosition, он возвращает -1, я проверяю элемент, и это правильно. com.example.myapplication.classes.Message@9a582a9

пытался искать везде по этомуфорум, но не смог найти решение, вот кусок моего кода (используя kotlin)

val listOfLastMessages = mutableMapOf<String,ChatLogMessages>()

  testButton.setOnClickListener {
// "4VOPV7TR7SWtrIn8s4hnZ6JBaAV2" is a user in my FirebaseDatabase, and olderLatestMessage is not returning null 

            val olderLatestMessage :Message? = listOfLastMessages["4VOPV7TR7SWtrIn8s4hnZ6JBaAV2"]
            println("Position: "+adapter.getAdapterPosition(messageRow(olderLatestMessage!!)).toString())
        }

class messageRow(private val LatestMessage :Message ) :Item<ViewHolder> () {

    override fun getLayout(): Int {return R.layout.message_main_row }

    override fun bind(viewHolder: ViewHolder, position: Int) { }

}


мой класс сообщений

class Message(var from_uid:String = "",var to_uid:String = "",var message:String = "",var timeStamp:Long = -1) {

}

я просто удалил часть кода, чтобы сделать егоПроще заметить мою проблему, мои строки отображаются правильно, но мне нужно проверить положение определенной пользовательской строки, но она всегда возвращает -1. если вам нужно какое-либо дальнейшее объяснение, я могу предоставить

заранее спасибо.

edit: библиотека: https://github.com/lisawray/groupie

1 Ответ

0 голосов
/ 12 октября 2019

Исправил мою проблему, изменив

val listOfLastMessages = mutableMapOf<String,ChatLogMessages>()

на:

val listOfLastMessages = mutableMapOf<String,Group>()

и добавив группу поклонников внутри него

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