getAdapterPosition(),findViewHolderForAdapterPosition(int)
,当及时一些数据可能没有来得及被展现到布局上时便需要获取最新的adapter
位置可以使用这些相关的方法。例如,如果你想获取一个条目的ViewHOlder
的click
事件时,你应该使用getAdapterPosition()
。需要知道这些方法在notifyDataSetChange()
方法被调用和新布局还没有被计算之前是不能使用的。鉴于这个原因,你应该小心的去处理这些方法有可能返回NO_POSITION
或者null
的情况。
所以,我们在点击事件中,获取getAdapterPosition()的时候,需要判断是否等于Recyclerview.NO_POSITION,如果是,则忽略该次点击。