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 fragment+ FragmentTabHost+viewpager 切换状态不保存的问题的更多相关文章
- [Android]Fragment源代码分析(二) 状态
我们上一讲,抛出来一个问题,就是当Activity的onCreateView的时候,是怎样构造Fragment中的View參数.要回答这个问题我们先要了解Fragment的状态,这是Fragment管 ...
- Android重写FragmentTabHost来实现状态保存
近期要做一个类似QQ底部有气泡的功能,试了几个方案不太好.我想非常多开发人员使用TabHost都会知道它不保存状态.每次都要又一次载入布局.为了保存状态,使用RadioGroup来实现.状态是能够保存 ...
- Android使用Fragment来实现ViewPager的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
以下内容为原创,转载请注明:http://www.cnblogs.com/tiantianbyconan/p/3364728.html 我前两天写过一篇博客<Android使用Fragment来 ...
- Android之ActionBar、Tabs、Fragment、ViewPager实现标签页切换并缓存页面
感觉 Android 到处都是坑,每个地方都要把人折腾半天. 今天来简单说说 Android之ActionBar.Tabs.Fragment.ViewPager 实现标签页切换并缓存页面 关于他们的介 ...
- Android控件使用FragmentTabHost,切换Fragment;
大部分APP的主界面都很类似,要么底部导航的,要么就是侧滑菜单,还有底部导航+侧滑菜单的:底部导航实现大概有几种方式: TabHost+Fragment RadioGroup+Fragment Fra ...
- Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复
Android中的状态保存和恢复 Android中的状态保存和恢复, 包括Activity和Fragment以及其中View的状态处理. Activity的状态除了其中的View和Fragment的状 ...
- 保存和恢复 Android Fragment 的状态
经过几年在 Android 应用开发中应用 Fragment 的努力之后,我必须要说尽管Fragment的概念非常优秀,但是它也同时带来了一堆问题.当我们处理实例的状态保存时就需要特别一件一件地修护好 ...
- Android - FragmentTabHost 与 Fragment 制作页面切换效果
使用 FragmentTabHost 与 Fragment 制作页面切换效果 API 19 TabHost已经不建议使用了.用 FragmentTabHost 来代替TabHost.实际上 Fragm ...
- Android中Fragment和ViewPager那点事儿(仿微信APP)
在之前的博文<Android中使用ViewPager实现屏幕页面切换和引导页效果实现>和<Android中Fragment的两种创建方式>以及<Android中Fragm ...
随机推荐
- C++内存问题大集合(指针问题,以及字符串拷贝问题,确实挺危险的)
作者:rendao.org,版权声明,转载必须征得同意. 内存越界,变量被篡改 memset时长度参数超出了数组长度,但memset当时并不会报错,而是操作了不应该操作的内存,导致变量被无端篡改 还可 ...
- Asp.Net ORM
Entity Framework https://msdn.microsoft.com/zh-cn/data/jj193542 NuGet命令获取组件方式: 键入“get-help NuGet”以查看 ...
- Spring冲刺阶段二(1)
我们首先是根据同学们的评价来找补自己的不足之处,其中同学们反应最多的是我们的界面不够好看,但是我觉得虽然不好看但算是比较简洁.其次是没有体现内网在其中发挥的作用,这点我们还没有实现. 根据这些不足之处 ...
- PMP--可能会涉及到的计算题
一.进度管理里的历时三点估算历时的三点估算可能会出现在进度管理的计算题里.以下公式,大家要记住:说一下历时的三点估算中的几个值:1.最有可能的历时估算:Tm2.最乐观的历时估算: To3.最悲观的历时 ...
- 12 Tips for Accurate Project Estimating
Projects typically involve many dynamic aspects, yet they're often constrained by finite conditions. ...
- SVN Working Copy locked ,并且进行clean up也还是不行
标题:working copy locked 提示:your working copy appears to be locked. run cleanup to amend the situation ...
- convert Timestamp to Real time
select r.ring_buffer_address, r.ring_buffer_type, dateadd (ms, r.[timestamp] - sysinfo.sqlserver_sta ...
- SQLServer temporary table and table variable
Temporary tables are created in tempdb. The name "temporary" is slightly misleading, for ...
- Android 对Map按key和value分别排序
一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black tre ...
- 分享一个移动项目中消除click事件点击延迟的方法
对于前端工程师来说,apicloud无疑给我们提供了很好的平台,有各种各样的模块供我们使用,但是在实际项目的时候,很大部分的代码,还是需要我们用html css js来实现的.但是呢,移动端页面对于c ...