首页 > 代码库 > viewpager 、fragment 遇到的问题
viewpager 、fragment 遇到的问题
1、关键字:viewpager 获取 某一个viewpager中的某一个 view
ViewPagerAdapter viewPagerAdapters = (ViewPagerAdapter) viewpager.getAdapter(); LinearLayout linearLayout = (LinearLayout) viewPagerAdapters.instantiateItem(null, currentItem);
注意不能通过 viewpager.getItem(currentItem),来获取,这样获取的view有的时候获取的view为空,
2、获取fragment中的listview中的headview
代码如下
LinearLayout ll = (LinearLayout) viewPagerAdapters.instantiateItem(null, currentItem); if(ll==null){ System.err.println(ll); return; } ListView listview = (ListView) ll.getChildAt(0); HeaderViewListAdapter adapter2 = (HeaderViewListAdapter) listview.getAdapter(); HorizontalScrollView teachingStratehs = (HorizontalScrollView) adapter2.getView(0, null, listview);
3、防止 fragment中 oncreateview中重复 inflate的问题
代码如下
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { if (null != rootView) { ViewGroup parent = (ViewGroup) rootView.getParent(); if (null != parent) { parent.removeView(rootView); } } else { rootView = inflater.inflate(R.layout.news_fragment, null); setupView(rootView);// 控件初始化 } return rootView; }
5、当 viewpager的页数不确定的时候,这时需要动态来添加view的界面, 所以view中的 listview啦 gridview啦都不能用一个全局的变量来替代,只能通过 viewpager来获取每一个view中的相关view
viewpager 、fragment 遇到的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。