i am creating a custom adapter where i am using two view holders, if the list is at position 0 holder object is casted to first view holder otherwise to second. the issue is when i am using that first view holder object outside onBindViewHolder it throws null pointer exception. here is my code
@Override public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { if (position == 0) { firstholder = (FirstHolder) holder; } else { secondholder = (SecondHolder) holder; } } public void runnable(final int size) { handler = new Handler(); runnable = new Runnable() { @Override public void run() { if (firstholder.ViewPager.getCurrentItem() == size - 1) { firstholder.ViewPager.setCurrentItem(0); } else { firstholder.ViewPager.setCurrentItem(firstholder.ViewPager.getCurrentItem() + 1, true); } handler.removeCallbacks(Runnable); handler.postDelayed(Runnable, 1000); } } }; } its throwing exception when called in runnable. Note that: both viewholder objects are global
onCreateViewHolderandgetItemViewTypemethods