zoukankan      html  css  js  c++  java
  • android fragment+ FragmentTabHost+viewpager 切换状态不保存的问题

     转载请注明出处:http://blog.csdn.net/djy1992/article/details/46674169

    @author dujinyang

    难得有时间上来写博客。

    fragment虽然好用,但个人还是觉得有利有弊。

    网上大都说切换状态,有挺多问题,

    有很多种解决方案。

    第一种常常遇到的情况:

    if(rootView == null)
    			rootView = inflater.inflate(R.layout.fragment_home, container,false);
    		ViewGroup parent = (ViewGroup) rootView.getParent();
    		 if (parent != null)
    		      parent.removeView(rootView);
    		 initView(rootView); 
    		 	
    		return rootView;


     

    第二种是LISTVIEW:

    同样的道理,在listview的适配器里面,

    	@Override
    		public View getView(int position, View convertView, ViewGroup parent) {
    			View view=convertView;
    			if(view==null)
    			{
    				view=new TextView(getActivity().getApplicationContext());
    			}
    			((TextView)view).setText("这是第"+position+"条测试数据");
    			((TextView)view).setTextSize(20);
    			return view;
    		}

    第三种估计比较少人遇到:

    折腾了一下午,因为需求关系,需要在TAB第一选项里面加入 ViewPager+Tabhost +动画,

    其实搞了很久才发现,原来是动画那一层,没有保存,但是因为是图片的原因,又无法保存位置,

    测试了很久解决了。

    OnPageChangeListener里面
    重写的onPageSelected,switch的选择器里动画层输出由它自带arg0的,
    为每一个tab增加多一个自身选项,作为位置保存,不能在外层记录位置,因为会出BUG的。
    通过每一个tab的位置计算出来原来所在的位置,这样就可以解决滑动时产生的位置信息。
    希望对大家有用。如果有其它的疑难杂症,可留言或加我Q。

    转载请注明出处:http://blog.csdn.net/djy1992/article/details/46674169

  • 相关阅读:
    android-为应用单元测试
    android手机拨号器实现
    android模拟器使用
    android开发环境搭建
    C语言之关键字
    linux shell脚本基础-----3
    linux shell脚本基础-----2
    linux shell脚本基础-----1
    Android学习计划
    MySql 绿色版配置
  • 原文地址:https://www.cnblogs.com/new0801/p/6175807.html
Copyright © 2011-2022 走看看