diff options
author | ByteHamster <info@bytehamster.com> | 2020-01-04 23:57:48 +0100 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2020-01-04 23:57:51 +0100 |
commit | 38e2abd2feb7969afa000ce77b50b6b79e187bb5 (patch) | |
tree | 9e30e2544d7d8ae3efa24e932d97328c5c6ff72e /app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java | |
parent | 98d9c4ccebb1360038a74affd585919dea2af216 (diff) | |
download | AntennaPod-38e2abd2feb7969afa000ce77b50b6b79e187bb5.zip |
Try to fix ArrayIndexOutOfBoundsException
We sometimes get an ArrayIndexOutOfBoundsException when trying to create the ItemPagerFragment.
After trying quite a few things already, Google Play still reports the crash.
Previous experiments showed that the index is not larger than the array length. Because it is
an AIOOB Exception and not a NPE, the array must be created correctly. Maybe it is a negative index.
Might be caused by getAdapterPosition() returning NO_POSITION (-1).
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java index 9cd5cc3ab..eafc4b0a6 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java @@ -245,8 +245,9 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter<AllEpisodesR public void onClick(View v) { MainActivity mainActivity = mainActivityRef.get(); if (mainActivity != null) { - long[] ids = itemAccess.getItemsIds().toArray(); - mainActivity.loadChildFragment(ItemPagerFragment.newInstance(ids, getAdapterPosition())); + LongList itemIds = itemAccess.getItemsIds(); + long[] ids = itemIds.toArray(); + mainActivity.loadChildFragment(ItemPagerFragment.newInstance(ids, itemIds.indexOf(item.getId()))); } } |