解决Android横竖屏切换数据丢失问题_conowen的博客-程序员宅基地

技术标签: android  listview  Android相关  

/********************************************************************************************
 * author:conowen@大钟                                                                                                                          
 * E-mail:[email protected]                                                                                                             
 * http://blog.csdn.net/conowen                                                                                                              
 * 注:本文为原创,仅作为学习交流使用,转载请标明作者及出处。     

 ********************************************************************************************/


Android横竖屏切换时,当前的Activity会被销毁,然后Activity上面的数据将会全部丢失。

如Listview上面每个item的checkbox,横竖屏切换时,复选框就丢失所有选中信息。



解决方案1、

在Androidmanifest.xml的activity标签中加入

android:configChanges="orientation|keyboardHidden"


  <activity
            android:configChanges="orientation|keyboardHidden"
            android:label="sqltest"
            android:name=".SqlData"
            
        </activity>



解决方案2、

强制限制activity在横屏状态或者竖屏状态,不让activity进行横竖屏切换

landscape表示横屏

portrait表示竖屏

  <activity
            
            android:label="sqltest"
            android:name=".SqlData"
            android:screenOrientation="landscape" >
        </activity>



解决方案3、

在Activity里面通过复写

onConfigurationChanged方法,实现在不同的屏幕状态下的处理方式。

@Override
	public void onConfigurationChanged(Configuration newConfig) {
		// TODO Auto-generated method stub
		super.onConfigurationChanged(newConfig);
		/*
		 * 横竖屏检测
		 */
		if (this.getResources().getConfiguration().orientation

		== Configuration.ORIENTATION_LANDSCAPE) {

			// 当前为横屏
			//实现代码

		}

		else if (this.getResources().getConfiguration().orientation

		== Configuration.ORIENTATION_PORTRAIT) {

			// 当前为竖屏
			//实现代码

		}

		/*
		 *  实体键盘状态检测
		 */

		if (newConfig.hardKeyboardHidden

		== Configuration.HARDKEYBOARDHIDDEN_NO) {

			// 实体键盘处于推出状态
			//实现代码

		}

		else if (newConfig.hardKeyboardHidden

		== Configuration.HARDKEYBOARDHIDDEN_YES) {

			// 实体键盘处于合上状态
			//实现代码

		}

	}





版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/conowen/article/details/7420625

智能推荐

iTOP-4412开发板的Qt交叉编译环境配置_zhyulo的博客-程序员宅基地

一、iTOP-4412开发板简介 iTOP-4412核心板是迅为电子推出的一款高端四核核心板,配备三星Exynos 4412四核处理器,主频为1.4GHz,内置8GB存储空间。该板设计小巧。配备三星自家电源管理芯片,具有9路DC/DC和28路LDO输出电源,在-20℃至70℃范围的高低温运行测试中运行良好,支持MPEG-4/MPEG2、H.264/H263、VC-1、DivX的视频编解码...

记vue分步引导的坑 driver.js 与 vue-tour html2canvas 与 dom-to-image_driver.js的坑_锦岁的博客-程序员宅基地

由于项目需要加入用户指引,于是我就找了下相关的插件。一开始使用driver.js做了个demo感觉还是不错的,于是就准备使用driver.js,修改下样式就行了。但是真正用设计图来设置时却发现了问题,由于项目是用vue编写的,根据设计图拆分了很多可复用的组件。设计图中很多需要高亮的dom节点都是在好几个组件之下的,driver.js获取不到,而且部分dom高亮时只有一个白色的框框覆盖,整了两天发现搞不定于是准备换插件。在帖子上看到有人使用vue-tour插件,缺点是他的高亮跟没高亮一样,完全看不出来,但

天然气压缩因子计算软件_【论文】刘强等:钛合金油套管抗挤毁性能计算与实验..._weixin_39607710的博客-程序员宅基地

本文版权归天然气工业杂志社所有未经允许,不得转载作者简介:刘强,1983 年生,高级工程师,博士 ;从事特殊油井管研发及评价工作。地址 :(710077)陕西省西安市锦业二路 89 号 管研院 503 室。ORCID: 0000-0001-5924-3953。E-mail:[email protected]刘 强1 申照熙1 李东风1张春霞2 祝国川1 宋生印11. 石...

python离线录音转文字_python3实现语音转文字(语音识别)和文字转语音(语音合成)..._weixin_39712724的博客-程序员宅基地

话不多说,直接上代码运行截图1.语音合成------->执行:结果:输入要转换的内容,程序直接帮你把转换好的mp3文件输出(因为下一步–语音识别–需要.pcm格式的文件,程序自动执行格式转换,同时生成17k.pcm文件,暂时不用管,(你也可以通过修改默认参数改变文件输出的位置,名称及是否进行pcm转换方便起见, 我们直接运行语音处理程序,识别我们上一步的17k.pcm文件:What?识别居然出现了...

html-8款流行前沿的HTML5文本编辑器_u022731937的博客-程序员宅基地

http://www.evget.com/article/2013/12/10/20190.html  概述:小编为大家整理了8款非常前沿的HTML5文本编辑器,简化开发流程,喜欢就转走吧!如果你是一名Web开发人员,当你需要开发一个独特的网站时,你就会知道文本编辑器的重要性。小编为大家整理了8款非常前沿的HTML5文本编辑器,简化开发流程,喜欢就转走吧!...

锁相环环路滤波器计算公式_PLL和DLL同为锁相环,区别在哪儿?_weixin_39630498的博客-程序员宅基地

DLL:一般在altera公司的产品上出现PLL的多,而xilinx公司的产品则更多的是DLL,开始本人也以为是两个公司的不同说法而已,后来在论坛上见到有人在问两者的不同,细看下,原来真是两个不一样的家伙。DLL是基于数字抽样方式,在输入时钟和反馈时钟之间插入延迟,使输入时钟和反馈时钟的上升沿一致来实现的。又称数字锁相环。PLL:使用了电压控制延迟,用VCO来实现和DLL中类似的延迟功能。又称模拟...

随便推点

Docker Swarm 学习笔记_欢子不唱歌的博客-程序员宅基地

Swarm有两个核心组件:安全集群编排引擎[[email protected] ~]# docker swarm init --advertise-addr 192.168.124.17:2377 --listen-addr 192.168.124.17:2377Swarm initialized: current node (z9zmm6qez6xzh31f027v0ntt3) is no...

2021年数据库课设该怎么做?一个超市管理系统,简单的前后端分离项目,带你从概要设计走到项目发布!(Vue.js+SpringBoot+MybatisPlus)_Dlihctcefrep的博客-程序员宅基地

2021最详细数据库课设报告,需求分析、概要设计、概念结构设计、物理结构设计、功能模块设计等一应俱全。前后端分离开发Vue.js+SpringBoot+MybatisPlus

计算机网络的发展热点,计算机网络发展趋势(热点).ppt_王洛堇的博客-程序员宅基地

计算机网络发展趋势(热点)主要内容: 一、通信、网络的地位 二、计算机及其网络的形成和发展 三、计算机网络功能、结构和分类 四、网络协议体系-- OSI/RM模型 五、局域网 六、网络互联通信技术 七、 TCP/IP协议 八、网络安全和网络管理 九、通信、网络发展趋势 十、实例 二、计算机及网络发展历程 计算机的发展趋势 微型化、巨型化 网络化 多媒体 第五代计算机 2、计算机网络的...

聊聊Redis性能优化的13个小技巧_redis查询交互多次优化_文晓武的博客-程序员宅基地

Redis 是基于单线程模型实现的,也就是 Redis 是使用一个线程来处理所有的客户端请求的,尽管 Redis 使用了非阻塞式 IO,并且对各种命令都做了优化(大部分命令操作时间复杂度都是 O(1)),但由于 Redis 是单线程执行的特点,因此它对性能的要求更加苛刻,本文我们将通过一些优化手段,让 Redis 更加高效的运行。本文我们将使用以下手段,来提升 Redis 的运行速度: 缩短键值对的存储长度; 使用 lazy free(延迟删除)特性; 设置键值的过期时间;.

Roson讲Qt #13 捕获屏幕图像并保存为图片_linux下qt编程截取屏幕并保存_Allen Roson的博客-程序员宅基地

#include "QtWidgetsApplication9.h"#include "QScreen"#include "QRect"#include "QPixmap"QtWidgetsApplication9::QtWidgetsApplication9(QWidget *parent) : QMainWindow(parent){ ui.setupUi(this); connect(ui.pushButton, SIGNAL(clicked()), this,.

晶体三极管的输入特性和输出特性_3极管的输入和输出特性_逝者_如斯的博客-程序员宅基地

一,晶体管的共射输入特性 下图为输入特性曲线:当UCE = 0时,相当于集电极与发射极短路,即发射结与集电结并联。因此,输入特性曲线与PN结的伏安特性类似,呈指数关系。 当UCE增大时,曲线将右移。 对于小功率晶体管,UCE大于1V的一条输入特性曲线可以近似UCE大于1V的所有输入特性曲线。二,输出特性 下图为输...

推荐文章

热门文章

相关标签