ビューページャーを使用して、複数のページにテキストを表示しています。新しいページを選択して現在のビューを取得しようとしています。現在のビューを取得したい理由は、ページ番号に基づいて、textview、image などのいくつかのビュー コンポーネントのいくつかのプロパティを変更しているためです。同じために以下のコードを使用しています。
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 ページ目に到達すると、「myTextView = (TextView)currView.findViewById(R.id.myTextView);」という行で nullpointer 例外が発生することです。これは、currView が null であるためです。ここで何か間違ったことをしている場合のアイデア。現在のページ番号に基づいてビューを変更できるように、ビューページャーで現在のビュー(ページ)をキャプチャする他の方法はありますか?