Android – 在SwipeRefreshLayout加载时单击RecyclerView时崩溃
作者:互联网
我在SwipeRefreshLayout中有一个RecyclerView,当我重新加载我的页面时,当加载SwipeRefreshLayout时,我点击RecyclerView上的项目它就崩溃了.
04-21 13:14:49.605 25586-25586/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.boxopen.funstack, PID: 25586
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at com.boxopen.funstack.adapter.RecycleBookAdapter$BookViewHolder.onClickLike(RecycleBookAdapter.java:339)
at com.boxopen.funstack.adapter.RecycleBookAdapter$BookViewHolder.access$100(RecycleBookAdapter.java:64)
at com.boxopen.funstack.adapter.RecycleBookAdapter$BookViewHolder$2.onDoubleClick(RecycleBookAdapter.java:122)
at com.boxopen.funstack.listener.DoubleClickListener.onClick(DoubleClickListener.java:36)
at android.view.View.performClick(View.java:4478)
at android.view.View$PerformClick.run(View.java:18698)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:149)
at android.app.ActivityThread.main(ActivityThread.java:5268)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
at dalvik.system.NativeStart.main(Native Method)
04-21 13:14:49.675 182-1124 /? E / IMGSRV :: 0:PVRDRMOpen:TP3,ret = 57
解决方法:
根据我的理解你的问题和日志基本上是你清除onRefresh()中的arraylist但不通知适配器列表已被清除.
清除arraylist后请调用notifyDataSetChanged()
标签:android,android-recyclerview,swiperefreshlayout 来源: https://codeday.me/bug/20191008/1874154.html