怎么在viewpager中获取子fragment里面的控件
2016-08-31 21:19
543 查看
有时候我们想要操控viewpager中获取焦点的fragment的控件,但是并没有getCurrentFragment 等类似的方法,但是提供了setPrimaryItem方法,但是这个实在adapter里面的,所有我们像个办法让他把当前的fragment从adapter中传出来,那么就要重写fragmentpageradapter
代码如下:
这样我们就可以通过外部调用currentFragment来获取当前fragment,
如:
((MyFragmentAdapter)viewPager.getAdapter()).currentFragment
然后强转成你需要的fragment就可以啦。
调用方法的时候只要,fragment.getView().finViewById();
比如:
MyFragment mf= (MyFragment ) ((MyFragmentAdapter)viewPager.getAdapter()).currentFragment;
//找到控件
ScrollView scrollview= (ScrollView) mf.getView().findViewById(R.id.tuijian_scrollview);
代码如下:
public class MyFragmentAdapter extends FragmentPagerAdapter { public Fragment currentFragment; public MyFragmentAdapter(FragmentManager fm, List<Fragment> list) { super(fm); this.list=list; } @Override public void setPrimaryItem(ViewGroup container, int position, Object object) { this.currentFragment= (Fragment) object; super.setPrimaryItem(container, position, object); } @Override public Fragment getItem(int position) { return 。。。; } @Override public int getCount() { return。。。; } }
这样我们就可以通过外部调用currentFragment来获取当前fragment,
如:
((MyFragmentAdapter)viewPager.getAdapter()).currentFragment
然后强转成你需要的fragment就可以啦。
调用方法的时候只要,fragment.getView().finViewById();
比如:
MyFragment mf= (MyFragment ) ((MyFragmentAdapter)viewPager.getAdapter()).currentFragment;
//找到控件
ScrollView scrollview= (ScrollView) mf.getView().findViewById(R.id.tuijian_scrollview);
相关文章推荐
- Viewpager+fragment结构,如何获取fragment中的控件
- 解决fragment的子fragment中viewpager里面的fragment不销毁 反复创建问题
- 获取formview里面的控件的值
- ViewPager中怎么获取Fragment
- Android中findViewById获取控件返回为空问题怎么解决
- 盘点自定义view里面容易混淆的获取控件属性的方法
- 循环某个Viewpager或别的控件时,获取某个数据的倍数
- 获取 ViewPager 内部子控件的方法
- activity获取viewpager中fragment里的button按钮,并设置监听怎么实现
- Fragment中的viewpager里面填充子fragment的问题
- Android中遇到加载View以及view里面有点击控件时,怎么避免焦点
- ViewPager中动态添加XML布局文件,并获取XML文件中控件ID的操作(inflate)
- 获取当前ViewPager里面的Fragment对象
- 怎么让对话框dialog里面的cedit控件对于回车不感冒?
- 获取gridview模板列里面的控件的ID
- 用js获取.aspx页面里面的服务器控件和.ascx中的服务器控件值
- 在FormView控件中嵌套数据绑定控件的问题,以及从一个对象中反射获取属性值的简单办法
- 获取控件ID函数findViewById
- html 控件 怎么获取id
- 怎么给Datagridview里面的控件添加事件