You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
java.lang.StackOverflowError
at com.lykehq.ui.home.teasers.BannersAdapter.getCount(BannersAdapter.java:69)
at com.lykehq.views.loopviewpager.LoopPagerAdapterWrapper.getRealCount(LoopPagerAdapterWrapper.java:102)
at com.lykehq.views.loopviewpager.LoopPagerAdapterWrapper.toRealPosition(LoopPagerAdapterWrapper.java:69)
at com.lykehq.views.loopviewpager.LoopViewPager$1.onPageScrolled(LoopViewPager.java:151)
at android.support.v4.view.ViewPager.dispatchOnPageScrolled(ViewPager.java:1769)
at android.support.v4.view.ViewPager.onPageScrolled(ViewPager.java:1748)
at android.support.v4.view.ViewPager.pageScrolled(ViewPager.java:1670)
at android.support.v4.view.ViewPager.scrollToItem(ViewPager.java:576)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:552)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:513)
at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:505)
at com.lykehq.views.loopviewpager.LoopViewPager.setCurrentItem(LoopViewPager.java:101)
at com.lykehq.views.loopviewpager.LoopViewPager$1.onPageScrolled(LoopViewPager.java:156)
at android.support.v4.view.ViewPager.dispatchOnPageScrolled(ViewPager.java:1769)
at android.support.v4.view.ViewPager.onPageScrolled(ViewPager.java:1748)
at android.support.v4.view.ViewPager.pageScrolled(ViewPager.java:1670)
at android.support.v4.view.ViewPager.scrollToItem(ViewPager.java:576)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:552)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:513)
at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:505)
at com.lykehq.views.loopviewpager.LoopViewPager.setCurrentItem(LoopViewPager.java:101)
at com.lykehq.views.loopviewpager.LoopViewPager$1.onPageScrolled(LoopViewPager.java:156)
at android.support.v4.view.ViewPager.dispatchOnPageScrolled(ViewPager.java:1769)
at android.support.v4.view.ViewPager.onPageScrolled(ViewPager.java:1748)
at android.support.v4.view.ViewPager.pageScrolled(ViewPager.java:1670)
at android.support.v4.view.ViewPager.scrollToItem(ViewPager.java:576)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:552)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:513)
at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:505)
at com.lykehq.views.loopviewpager.LoopViewPager.setCurrentItem(LoopViewPager.java:101)
at com.lykehq.views.loopviewpager.LoopViewPager$1.onPageScrolled(LoopViewPager.java:156)
at android.support.v4.view.ViewPager.dispatchOnPageScrolled(ViewPager.java:1769)
at android.support.v4.view.ViewPager.onPageScrolled(ViewPager.java:1748)
at android.support.v4.view.ViewPager.pageScrolled(ViewPager.java:1670)
at android.support.v4.view.ViewPager.scrollToItem(ViewPager.java:576)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:552)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:513)
at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:505)
at com.lykehq.views.loopviewpager.LoopViewPager.setCurrentItem(LoopViewPager.java:101)
at com.lykehq.views.loopviewpager.LoopViewPager$1.onPageScrolled(LoopViewPager.java:156)
at android.support.v4.view.ViewPager.dispatchOnPageScrolled(ViewPager.java:1769)
at android.support.v4.view.ViewPager.onPageScrolled(ViewPager.java:1748)
at android.support.v4.view.ViewPager.pageScrolled(ViewPager.java:1670)
at android.support.v4.view.ViewPager.scrollToItem(ViewPager.java:576)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:552)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:513)
at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:505)
at com.lykehq.views.loopviewpager.LoopViewPager.setCurrentItem(LoopViewPager.java:101)
at com.lykehq.views.loopviewpager.LoopViewPager$1.onPageScrolled(LoopViewPager.java:156)
The LoopViewPager is the first element inside a RecyclerView which is inside a Fragment which is inside a ViewPager along with other 3 Fragment.
So when my Activity starts, I make a request to my backend, while I am waiting I swipe around the 4 fragments and then suddenly the app crashes. This doesn't happen always unfortunately.
If I use a normal ViewPager everything looks fine.
Here is my adapter
public class BannersAdapter extends PagerAdapter {
private Context context;
private List<Teaser> teasers;
private AdapterListener listener;
public BannersAdapter(@NonNull Context context, @NonNull AdapterListener listener) {
this.context = context;
this.listener = listener;
}
public void setTeasers(@NonNull List<Teaser> teasers) {
this.teasers = teasers;
notifyDataSetChanged();
}
@Override
public Object instantiateItem(ViewGroup collection, final int position) {
ImageView imageView = new ImageView(context);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Teaser teaser = (Teaser) view.getTag(R.id.view_holder_tag);
listener.onTeaserClick(teaser);
}
});
collection.addView(imageView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
Teaser teaser = teasers.get(position);
imageView.setTag(R.id.view_holder_tag, teaser);
int width = DisplayUtils.getDisplaySize(context)[0];
String imageUrl = teaser.getImage().getUrl(width);
Glide.with(context).load(imageUrl).into(imageView);
return imageView;
}
@Override
public void destroyItem(ViewGroup collection, int position, Object view) {
collection.removeView((View) view);
}
@Override
public int getCount() {
if (teasers == null) {
return 0;
}
LogUtils.d("TEST", String.valueOf(teasers.size()));
return teasers.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
public interface AdapterListener {
void onTeaserClick(@NonNull Teaser teaser);
}
I am also using the page indicator from Jake Wharton:
bannersAdapter = new BannersAdapter(context, this);
bannersViewPager.setAdapter(bannersAdapter);
pageIndicator.setViewPager(bannersViewPager);
The text was updated successfully, but these errors were encountered:
I am getting this exception
The
LoopViewPager
is the first element inside aRecyclerView
which is inside aFragment
which is inside aViewPager
along with other 3Fragment
.So when my
Activity
starts, I make a request to my backend, while I am waiting I swipe around the 4 fragments and then suddenly the app crashes. This doesn't happen always unfortunately.If I use a normal
ViewPager
everything looks fine.Here is my adapter
I am also using the page indicator from Jake Wharton:
The text was updated successfully, but these errors were encountered: