1

I am getting null pointer exception whenever I am trying to viewPager.getChildAt I am attaching code snippshot

// Scroll Page Limit
private int scrollPageLimit = Integer.MAX_VALUE / 2;
private int lastPageSelected = scrollPageLimit;

viewPager = (ViewPager) findViewById(R.id.calendar);

    MyPagerAdapter adapter = new MyPagerAdapter(context);
    //PagerAdapter wrappedAdapter = new InfinitePagerAdapter(adapter);
    viewPager.setAdapter(adapter);
    viewPager.setCurrentItem(scrollPageLimit);
    LinearLayout view = (LinearLayout) viewPager.getChildAt(viewPager.getCurrentItem());
    GridView calendar = (GridView) view.findViewById(R.id.gridView_calendar);


// My Adapter
private class MyPagerAdapter extends PagerAdapter {

    // int NumberOfPages = scrollPageLimit*2 + 1;
    Context context;

    public MyPagerAdapter(Context context) {
        this.context = context;
    }

    @Override
    public int getCount() {
        return Integer.MAX_VALUE;
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {

        Log.v("ExtendedCalendarView", "instantiateItem : "+position );
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        LinearLayout view = (LinearLayout) inflater.inflate(
                R.layout.viewpager_calendar, null);
        GridView calendar = (GridView) view
                .findViewById(R.id.gridView_calendar);
        <!-- Calendar generation code -->
        view.setTag(new MonthYearTagPager(cal.get(Calendar.MONTH), cal.get(Calendar.YEAR)));
        return view;

    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        Log.v("ExtendedCalendarView", "destroyItem : "+position );

        container.removeView((LinearLayout) object);
    }


}

<!--layout  viewpager_calendar -->

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linear"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#F1F0EB"
android:orientation="vertical" >

<TextView
    android:id="@+id/textView_month"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:text="TextView"
    android:textAppearance="?android:attr/textAppearanceSmallInverse" />

   <GridView
     android:id="@+id/gridView_calendar"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#fff"
        android:listSelector="@android:color/transparent"
        android:numColumns="7">
</GridView>

If I will access LinearLayout view = (LinearLayout) viewPager.getFocusedChild(); then it works but it returns next viewpager element.

  • what int value you are getting when calling `viewPager.getCurrentItem()` ? – ρяσѕρєя K Jan 14 '15 at 06:02
  • instantiateItem : : 1073741823, 1073741822, 1073741824 – user2389623 Jan 14 '15 at 06:09
  • Can you put the logcat logs here? – Green goblin Jan 14 '15 at 06:11
  • instantiateItem : 1073741823 instantiateItem : 1073741822 instantiateItem : 1073741824 – user2389623 Jan 14 '15 at 06:21
  • java.lang.NullPointerException at packagename.OnPageScrollComplete(ExtendedCalendarView.java:1052) at packagename.onPageSelected(ExtendedCalendarView.java:301) at android.support.v4.view.ViewPager.scrollToItem(ViewPager.java:572) at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:556) at android.support.v4.view.ViewPager.onTouchEvent(ViewPager.java:2020) at android.view.View.dispatchTouchEvent(View.java:7706) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2210) – user2389623 Jan 14 '15 at 06:22
  • int value getting when calling viewPager.getCurrentItem() is 1073741823 – user2389623 Jan 14 '15 at 06:27
  • Possible duplicate of [How do I get the child View of a ViewPager at a given item](http://stackoverflow.com/questions/16511725/how-do-i-get-the-child-view-of-a-viewpager-at-a-given-item) – pelya Feb 04 '17 at 23:38

0 Answers0