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

前言:

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

下面提供解决方法:

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

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


pagerAdapter中的代码

代码解释:

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

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

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


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

解决方案:

在onResume()方法中

MyViewPager.setCurrentItem(1);

MyViewPager.setCurrentItem(0);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,264评论 25 708
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 46,884评论 22 665
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,229评论 4 61
  • 求助者故事自述: 和前夫是10年认识恋爱,11年结婚,16年底因前夫精神出轨被发现,后半年内又陆续被各种出轨现象,...
    不甘落后_阅读 499评论 0 7
  • Charles抓包工具介绍 简介 Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和...
    米洛丶阅读 1,566评论 0 0