android:view的状态保存

安卓自定义View的状态保存与恢复 安卓自定义View的状态保存与恢复我们在开某些安卓应用(如安卓小游戏)时,可能会用到自定义View,这时候往往需要保存自定义View的状态信息,以便在遇到某些情况(如由于系统内存资源紧张被系统杀死;或者在平板上经常发生的旋转屏幕)时能够恢复之前的状态信息,不给用户带来不必要的麻烦。 阅读详情
与Activity一样,View也有状态保存和恢复的方法:onSaveInstanceState和onRestoreInstanceState。对于View,其状态信息由相应的SavedState处理(通常是一个嵌套类)。
根据类层次关系,顶层抽象类是android.view.AbsSavedState,然后是一个扩展后的类android.view.View.BaseSavedState,最后具体的widget会单独实现它的SavedState。
对于android.app.Fragment.SavedState,它是直接继承Object的。
而所有的SavedState,他们都implements了Parcelable接口。view的状态保存都是通过Parcelable的writeToParcel方法实现的。
View的状态是如何保存的 BaseSavedState是View的一个内部静态类,他实现了Parcelable接口,会把控件的属性(如selStart)序列化到Parcelable容器,这个内部类在View的onSaveInstanceState()方法里面以及onRestoreInstanceState(()方法里面都会被创建一个局部变量并保存数据。然后Activity的onSaveInstanceState、onRestoreInstanceState最终也会调用到控件的这两个同名方法。View的初始化时要调用setSaveEnabled(true) 。 另外,想要保存View的状态,需要在XML布局文件中提供一个 立即下载

相关推荐

【实战指南】从零构建UNet多分类分割数据集:标注、转换与训练全流程

本文提供了一份从零构建UNet多分类分割数据集的完整实战指南。详细介绍了使用Labelme进行图像标注的核心技巧与规范,并通过Python脚本将标注结果转换为模型可用的VOC格式。最后,指导如何修改经典的PyTorch版UNet代码,以适配自定义数据集并进行训练与测试,帮助读者完成从数据准备到模型训练的全流程。

arduino9maker的博客 286

Android View状态保存

说到状态保存,就不得不提到Activity的onSaveInstanceState()方法,这个是大家经常用到的一个函数,就是当我们的Activity被置为后台,当我们再次进入这个Activity的时候,这个Activity需要被恢复,并且回调这个方法。 下面来看看这个方法 private static final String WINDOW_HIERARCHY_TAG = "androi...

欢迎关注微信公众号:DroidMind 6058

Utrust4701F与Utrust2700R读写器在银河麒麟系统的安装及测试步骤说明

Utrust4701F与Utrust2700R读写器支持银河麒麟系统,广泛应用会员管理、支付管理等领域。本文将重点介绍Utrust4701F与Utrust2700R读写器在银河麒麟系统的安装及测试步骤说明。以上方法适用于主流国产操作系统,如 优麒麟(UbuntuKylin)/ 中标麒麟(NeoKylin) / UOS(统信操作系统)/ 中兴新支点 / 红旗 linux(redflag linux)/ 普华 Linux(I-soft OS) / 威科乐恩 Linux(WiOS)等

华翔天诚科技 1833

解决方法 android.view.AbsSavedState$1 cannot be cast to android.widget.CompoundButton$SavedState

第一次写博客 就是为了纪念这个困扰我一晚上的纠结问题    其实网上不少类似的问题  但都能看出个大概 什么LinearLayout转换 什么List转换出错  唯有这个很摸不着头脑        这里写出我的问题  很简单  Activty没有固定横竖屏  首先 手机设置了自动横竖屏   其次,从一个横屏的Activity返回时  手机还保持横屏状态  因为你没有写清楚横竖屏  所以系

u011342532的专栏 6209

AI 辅助代码审查:开启代码质量管控的智能时代

AI辅助代码审查正在改变传统的代码质量管控方式。通过自动化分析、智能反馈和上下文感知,AI不仅提高了代码审查的效率,还提升了代码质量的一致性和可维护性。随着机器学习和深度学习技术的不断发展,未来AI将成为开发者日常工作中强大的助手,进一步推动软件开发向智能化、自动化方向发展。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 3226

Win11内核隔离无法打开的解决方案详解

内核隔离问题的解决需遵循"先硬件后软件"的排查原则,90%以上的案例可通过驱动清理或外设断开解决。对于必须禁用该功能的用户,建议定期使用Windows Defender进行全盘扫描,并保持系统更新至最新版本。技术决策需在安全性和兼容性之间取得平衡,本文提供的多维解决方案可帮助用户构建更稳定的Windows 11使用环境。

mmoo_python的博客 4825

两个关于View.SavedState 的异常分析

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.*****/com.******.RootActivity}: java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to android.widget.Scrol

yunnywu的专栏 7308

No Target Connected 错误时的一种情况

STM32的SWD烧录模式No Target Connected 错误的一种情况 STM32的SWD烧录模式No Target Connected 错误时的一种处理情况 这是我第一次烧板子的时候遇到的问题,在给板子download的时候出现了“No Target Connected”的错误,这里讲一种解决方法。不一定适用于全部状况,但是可以作为一种纠错方法。 打开 Options for Target… 1.首先点击Options for Target…这个像魔棒一样的按键打开,会出现这个页面 2.点击

Logan_CodeGou的博客 1万+

解决android.view.AbsSavedState$1 cannot be cast to android.widget.CompoundButton$SavedState

ViewPager.setCurrentItem; AbsSavedState$1 cannot be cast to android.widget.CompoundButton$SavedState

u010753376的专栏 5015

Windows服务器XMRig挖矿病毒深度清除实战指南

XMRig是一种广泛用于Monero(XMR)加密货币挖矿的开源工具,其在Windows环境中的持久化机制已远超传统木马范畴,融合WMI事件订阅、服务伪装、PowerShell无文件执行与注册表隐写等多重反检测技术。理解其基于行为而非特征的生存逻辑,是实现有效检测与根除的前提。该技术具备强隐蔽性、高自愈性与网络通信合法化特征,常见于RDP弱口令爆破、SMB共享泄露及PowerShell远程执行等非漏洞类入侵场景。本文聚焦Windows原生命令与Sysinternals工具链,提供覆盖进程定位、WMI清理、服

weixin_30535843的博客 730

什么是 SAP ABAP Secure Storage

此过程将单独的密钥存储在密钥路径中的密钥文件中,并自动使用新加密密钥加密安全存储中的所有数据记录。需要注意的是,不要在没有命令行工具的情况下操作密钥文件,例如,不要用不同的版本替换密钥文件,否则,安全存储中的数据记录可能变得不可读。当需要访问这些数据时,系统会对其进行解密。文件系统中的安全存储(Secure Storage in the File System)也是 SAP NetWeaver Application Server for ABAP 的一部分,主要用于安全存储连接相关的数据,如密码等。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 439

java.lang.ClassCastException android.view.AbsSavedState

继承父VIEW的多个子类时,因为设置view 的id重复,导致 java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to android.widget.AbsListView$SavedState 修复你子类中的ID,即可解决

xiaol_zhong的专栏 4659

基于STM32L4XX、HAL库的MCP4561数字电位器驱动程序设计

/ HAL库需要左移一位。* @param address: 设备地址(0x2C-0x2F)* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hi2c: I2C句柄。

zhusl6688的博客 340

Android中正确保存view的状态

转至:http://www.codeceo.com/article/android-save-view-state.html 今天我们聊一聊安卓中保存和恢复view状态的问题。我刻意强调View状态是因为我发现这个过程要比保存 Activity 和 Fragment状态稍微复杂,还有一个原因是因为网上有太多“重复造的轮子”(有时还是奇丑无比的轮子)。 为什么我们需要保存View的状态?

h183288132的专栏 1932

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Android中自定义View的状态保存

记得我在一次面试中遇到的一个问题是,关于自定义View中,View的保存状态问题。 做过自定义View的开发人员应该都遇到过这种问题,因为Activity转屏,或者是Home键到后台时都很容易在被系统销毁,恢复时我们肯定是希望看到View保留着之前的状态。 而Android中有一套标准的做法,我们可以从Android自带的控件里看到。比如说TextView的源代码( SavedState ext

Marialiang的博客 1399

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

android中正确保存view的状态

英文原文: http://trickyandroid.com/saving-android-view-state-correctly/   转载此译文须注明出处。 今天我们聊一聊安卓中保存和恢复view状态的问题。我刻意强调View状态是因为我发现这个过程要比保存 Activity 和 Fragment状态稍微复杂,还有一个原因是因为网上有太多“重复造的轮子”(有时还是

u010746364的博客 563

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

andorid view如何附带数据_android中正确保存view的状态

转载此译文须注明出处。今天我们聊一聊安卓中保存和恢复view状态的问题。我刻意强调View状态是因为我发现这个过程要比保存 Activity 和 Fragment状态稍微复杂,还有一个原因是因为网上有太多“重复造的轮子”(有时还是奇丑无比的轮子)。为什么我们需要保存View的状态?这个问题问的好!我坚信移动应用应该帮助你解决问题,而不是制造问题。想象一下一个非常复杂的设置页面:这并不是从一个移动应...

weixin_39998273的博客 241

【android】正确保存view的状态

英文原文: http://trickyandroid.com/saving-android-view-state-correctly/   转载此译文须注明出处。 今天我们聊一聊安卓中保存和恢复view状态的问题。我刻意强调View状态是因为我发现这个过程要比保存 Activity 和 Fragment状态稍微复杂,还有一个原因是因为网上有太多“重复造的轮子”(有时还是

u011494050的专栏 3932

android保存view,Android 不想保存View的状态,使用这种方式可以么?

项目在Fragment切换中出现一个关于View onRestoreInstance()的错误,目前原因没有查到...出现Crash的地方:这个IllegalArguementExp导致在部分机型上产生Crash...// ~ View.java@CallSuperprotected void onRestoreInstanceState(Parcelable state) {mPrivateFl...

weixin_35980523的博客 254

Android 如何保存与恢复自定义View的状态?

在上一篇文章Android状态保存与恢复流程 完全解析,笔者详细地介绍了Activity、Fragment、View等的状态保存与恢复流程,相信大家对状态的保存与恢复都有了一定熟悉。而这篇文章就着重介绍自定义View该怎样保存与恢复状态,因为每个自定义View都是不同的情况,所以我们一般需要重写View的onSaveInstanceState()或onRestoreInstanceState()

蓝天白云梦的csdn博客 6859

android 得到view的状态,android-在NavigationView上保存状态

更新:从支持库的22.2.1版本开始,此问题已得到解决,不再需要使用下面提到的解决方法保存/恢复视图状态不要使用NavigationView.SavedStateNavigationView是将saveEnabled设置为true的视图.这意味着视图本身应在内部使用SavedState来自动保存/恢复其状态(例如,设备旋转时)不幸的是,该视图具有已确认的错误,并且状态未正确保存/恢复:https:...

weixin_35120608的博客 345

android activity 保持状态,Android 如何保存与恢复自定义View的状态?

原标题:Android 如何保存与恢复自定义View的状态?安卓巴士全球开发者论坛北京站即将开启!前言在上一篇文章Android状态保存与恢复流程 完全解析,笔者详细地介绍了Activity、Fragment、View等的状态保存与恢复流程,相信大家对状态的保存与恢复都有了一定熟悉。而这篇文章就着重介绍自定义View该怎样保存与恢复状态,因为每个自定义View都是不同的情况,所以我们一般需要重写V...

weixin_42591413的博客 397

Android -- 每日一问:自定义 View 的状态是如何保存的?

每日一问:自定义 View 的状态是如何保存的?

Kevin Learn Android 700

android自定义view状态保存

android自定义view状态保存 要保存view的状态,至少有两点需要满足: view要有id要调用setSaveEnabled(true)     xmlns:android="http://schemas.android.com/apk/res/android"     android:id="@+id/drawingview"     android:lay

xiaocao9903的专栏 637

Android状态保存与恢复流程 完全解析

前言很久没写过文章了,最近一段时间忙着各种各样的事情,难得寒假有时间便把最近所学的整理及记录下来与大家分享。本篇文章是关于Android的状态保存与恢复的源码分析。 对于一个Activity或者View来说,状态的保存与恢复是必不可少的,最常见的一种情况是切换屏幕方向了,如果由竖屏切换为横屏,那么必定会经历Activity的摧毁与重建,那么它所对应的View视图也会被摧毁和重建,如果此时没有对Vi

蓝天白云梦的csdn博客 5633
上一篇: java:位运算与逻辑运算
下一篇: 算法:N个人围成一个圈,逢3出列。求最后一人的编号。(约瑟夫环)
snow4dev
博客等级 码龄15年 8粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值