我将RecyclerView和ScrollListener加载到一个函数中。
以下是在该函数中设置ScrollListener的代码(我删除了问题之外的所有内容):
recyclerViewMemes.addOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
val firstPosition = layoutManager.findFirstVisibleItemPosition()
val lastPosition = layoutManager.findLastVisibleItemPosition()
for (i in firstPosition..lastPosition) {
if(adapterMemes.memes[i].pic.contains("_vid_")){ // ERROR HERE
Log.d(tagg, "bla")
}
}
}
})
当我尝试再次调用该函数来重置RecyclerView时,我会在我用“ERROR HERE”标注的行上收到ArrayIndexOutOfBoundsException。这意味着在重置所有内容时仍然会触发RecyclerView。
那么我该如何防止这种情况发生?比如删除/重置ScrollListener?