ViewPager下子页面获取控件并绑定点击事件

前言:

众所周知,当我们使用viewpager加载多个布局文件时,尤其是加载多个一样布局文件时,这些布局中的控件的点击事件却监听不到了。

下面提供解决方法:

其实我们加载多个布局那么就应该找到对应布局中的控件,也就是那个List中获取对应的布局文件,再从这个布局文件中获取对应的控件,具体在代码中可以在主页面中完成,也可以在适配器中完成,这里只给出适配器中的解决:

在PagerAdapter中的instantiateItem方法中,如下直接将我的工程中的部分代码拷贝出来了,里面还包括当前页面的点击监听


ViewPager下子页面获取控件并绑定点击事件_第1张图片
pagerAdapter中的代码

代码解释:

viewContainter就是Viewpager对应的子VIEW的一个集合

instantiateItem(View v, int postion){}:这个方法返回的就是你填充的view界面,可以跟listview中的getView()对比理解

在这里写switch来找到的对应布局,然后在找到对应的控件,再给控件绑定点击事件。OK.


问题2描述:Viewpager默认第一个页面不显示,当滑动到第二个界面再回到第一个界面时,第一个界面才显示

解决方案:

在onResume()方法中

MyViewPager.setCurrentItem(1);

MyViewPager.setCurrentItem(0);

你可能感兴趣的:(ViewPager下子页面获取控件并绑定点击事件)