viewpager 、fragment 遇到的问题

转: http://www.maxiaoguo.com/shipin/392.html

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值