getAdapterPosition始终返回-1

时间:2019-10-11 17:13:25

标签: android kotlin

我正在使用groupie库及其适配器来管理我的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。如果您需要任何进一步的解释,我可以提供

提前谢谢。

编辑:库:https://github.com/lisawray/groupie

1 个答案:

答案 0 :(得分:0)

通过更改此方法解决了我的问题

val listOfLastMessages = mutableMapOf<String,ChatLogMessages>()

对此:

val listOfLastMessages = mutableMapOf<String,Group>()

并在其中添加一个分组群组

相关问题