Я использую viewpager для отображения текста на нескольких страницах. Я пытаюсь получить текущее представление, я выбираю новую страницу. Причина, по которой я хочу получить текущее представление, состоит в том, что, основываясь на номере страницы, я меняю некоторые свойства некоторых компонентов вида, таких как textview, изображение и т.д. Я использую приведенный ниже код для того же
ViewPager mPager = (ViewPager) findViewById(R.id.pager);
mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
View CurrView;
OnPageChangeListener pageChangelistener = new OnPageChangeListener() {
@Override
public void onPageSelected(int pageSelected) {
currView = mPager.getChildAt(mPager.getCurrentItem());
myTextView = (TextView)currView.findViewById(R.id.myTextView);
loadBookmarkSetting(pageSelected);//do some changes in myTextView properties based on the page number }
mPager.setOnPageChangeListener(pageChangelistener);
Теперь проблема, с которой я сталкиваюсь, после того, как я прокручиваю 3 страницы, и когда я прихожу на 4-ю страницу, я получаю исключение nullpointer в строке "myTextView = (TextView) currView.findViewById(R.id.myTextView);". Это так, потому что currView имеет значение null. Любые идеи, если я делаю что-то неправильно здесь. Есть ли другой способ захвата текущего представления (страницы) в viewpager, так как я могу делать изменения в представлении, основываясь на том, на каком номере страницы я нахожусь?