我正在使用 viewpager 跨多个页面显示一些文本。我正在尝试获取当前视图并选择一个新页面。我想获取当前视图的原因是因为基于页码我正在更改一些视图组件的一些属性,如 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);”这一行上得到了空指针异常。这是因为 currView 为空。如果我在这里做错了任何想法。有没有其他方法可以在 viewpager 中捕获当前视图(页面),以便我可以根据我所在的页码对视图进行更改?