关于安卓配置信息发生变化的应对方法

2024-08-22 13:48

本文主要是介绍关于安卓配置信息发生变化的应对方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

当配置信息发生变化,如横屏竖屏,更改语言配置等,Activity会重新执行onCreate()方法。重新执行onCreate()方法的话,可能会发生我们不想看到的结果。

比如说:当activity托管了fragment的话,重新执行onCreate()方法前添加过的fragment,即使在重新执行onCreate()方法前执行了hide()方法,当重新执行onCreate()方法后,添加过的fragment也都会显示出来,出现重叠效果。

如果不希望重新执行onCreate()方法或者说重新执行onCreate()方法后仍然不会发生上面所说的情况的话有以下几种方法供选择:

1.AndroidManifest.xml文件:在相应的activity中添加android:configChanges="keyboardHidden|orientation|screenSize"配置信息,

配置这个属性的话,在横屏竖屏的时候就不会重新调用onCreate()方法了,只是会执行onConfigurationChanged方法。

PS: "keyboardHidden”属性不加貌似也没有什么影响。

但是这种做法还是有一定局限性的,比如更改设备语言的话还是会发生上面所说的效果。

2.在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入android:screenOrientation=”portrait”属性即可(landscape是横向,portrait是纵向)。

这样的做法有着和上面同样的缺陷。

3.复写activity的onSaveInstanceState方法,如果该activity托管了fragment的话不要复写super方法,否则添加过fragment会依然存在,造成画面重叠。

4.添加fragment的时候:transaction.add(R.id.content, messageFragment,"message")方法的第三个参数给出tag标记,这样在重启后依然可以通过findFragmentByTag("message")去拿fragment,进行相应的操作。


PS:出于兴趣爱好,刚开始尝试自己做安卓程序,不会,不懂,要学的东西太多太多了,还请大家多多 关照。谢谢!


这篇关于关于安卓配置信息发生变化的应对方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1096449

相关文章

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties