android fragment+ FragmentTabHost+viewpager 切换状态不保存的问题

简介:    转载请注明出处:http://blog.csdn.net/djy1992/article/details/46674169 @author dujinyang 难得有时间上来写博客。

 

 转载请注明出处: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

 

 

相关文章
|
XML Android开发 数据格式
Android开发之ViewPager+Fragment+FragmentTabHost实现底部菜单
在Android开发中,底部菜单是经常要使用的,如微信、微博、支付宝等,实现底部菜单有好几种方式,大致分为: 通过TabWidget实现 隐藏TabWidget,通过RadioGroup和RadioButton实现底部菜单栏 通过FragmentTabHost实现 通过5.
1004 0
|
XML Android开发 数据格式
Android - FragmentTabHost 与 Fragment 制作页面切换效果
使用 FragmentTabHost 与 Fragment 制作页面切换效果 API 19 TabHost已经不建议使用了。用 FragmentTabHost 来代替TabHost。实际上 FragmentTabHost 继承自 TabHost 效果图: 主文件是FragmentTabHostDemo.
1027 0
|
XML Go Android开发
android上FragmentTabHost实现自定义Tab Indicator
最近一直在做安卓开发,发现Tab布局可以用FragmentTabHost来实现,唯一不好的就是不能实现带图标的tabindicator, V4版本中的虽然API有支持,但是无论怎么设置Drawable对象都不起作用,所以被逼无赖,发现indicator可以支持传进一个View做tabtitle,于是经过一番各种坑之后,我做了一个自定义的Tab indicator,可以实现切换提示、显示带图标的tabtitle,同时支持滑动切换到不同Tab。
875 0
|
5天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
28天前
|
Java Android开发
Android 开发获取通知栏权限时会出现两个应用图标
Android 开发获取通知栏权限时会出现两个应用图标
14 0
|
1月前
|
XML 缓存 Android开发
Android开发,使用kotlin学习多媒体功能(详细)
Android开发,使用kotlin学习多媒体功能(详细)
103 0
|
1月前
|
设计模式 人工智能 开发工具
安卓应用开发:构建未来移动体验
【2月更文挑战第17天】 随着智能手机的普及和移动互联网技术的不断进步,安卓应用开发已成为一个热门领域。本文将深入探讨安卓平台的应用开发流程、关键技术以及未来发展趋势。通过分析安卓系统的架构、开发工具和框架,本文旨在为开发者提供全面的技术指导,帮助他们构建高效、创新的移动应用,以满足不断变化的市场需求。
18 1
|
2天前
|
数据库 Android开发 开发者
安卓应用开发:构建高效用户界面的策略
【4月更文挑战第24天】 在竞争激烈的移动应用市场中,一个流畅且响应迅速的用户界面(UI)是吸引和保留用户的关键。针对安卓平台,开发者面临着多样化的设备和系统版本,这增加了构建高效UI的复杂性。本文将深入分析安卓平台上构建高效用户界面的最佳实践,包括布局优化、资源管理和绘制性能的考量,旨在为开发者提供实用的技术指南,帮助他们创建更流畅的用户体验。
|
19天前
|
XML 开发工具 Android开发
构建高效的安卓应用:使用Jetpack Compose优化UI开发
【4月更文挑战第7天】 随着Android开发不断进化,开发者面临着提高应用性能与简化UI构建流程的双重挑战。本文将探讨如何使用Jetpack Compose这一现代UI工具包来优化安卓应用的开发流程,并提升用户界面的流畅性与一致性。通过介绍Jetpack Compose的核心概念、与传统方法的区别以及实际集成步骤,我们旨在提供一种高效且可靠的解决方案,以帮助开发者构建响应迅速且用户体验优良的安卓应用。