Reputation: 61
I have a RecyclerView
inside a SwipeRefreshLayout
, when I reload my page , when SwipeRefreshLayout
is loading, I click on the item on the RecyclerView
and it crashes.
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
Upvotes: 2
Views: 2276
Reputation: 1474
Seems like you have cleared your list upon refresh, but the items are still in your recyclerview. You should notify your adapter that the list is empty now. In your current situation, starting to scroll will probably cause the application to crash as well?!
Upvotes: 2
Reputation: 12379
From what i understand by your question and log is basically you are clearing the arraylist
in onRefresh()
but not notifying the adapter that the list has been cleared.
Please call notifyDataSetChanged()
after clearing arraylist
Upvotes: 13
Reputation: 718
you should put condition for check the size of (for eg. array, ArrayList ... used by you ) data
Upvotes: 0