Android开发,重写了onConfigurationChanged方法。横屏切换竖屛不会重建,而竖屛切换横屏却仍会重建活动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开发,重写了onConfigurationChanged方法。横屏切换竖屛不会重建,而竖屛切换横屏却仍会重建活动相关的知识,希望对你有一定的参考价值。

不知道为什么我重写了onConfigurationChanged方法,但是在切换横竖屏会出现这样的一个问题,当横屏切换竖屛时,活动会调用onConfigurationChanged方法不会重建,但时当竖屛切换横屏时,活动却会重建并不会调用onConfigurationChanged方法,这是为什么?我在其他设备试了一下也是这样,想了好久不知道该怎么解决,希望大家能教教我, 谢谢!附上了图片,觉得好像没什么问题,但就是不知道为什么竖屛切换横屏就是失效了。。。

你用方法给你传的config啊,判断资源状态默认值干嘛,如果没特殊配置过,那肯定一直是竖屏的值。
if(newConfig.orientation == 横)
else if(newConfig.orientation == 竖)
追问

我刚试过了,你的方法还是一样,竖屏切换横屏还是会重建,横屏切换竖屏就正常

追答

你是要保证不重建?那你在AndroidManifest.xml中设置对应页面android:configChanges="orientation|screenSize“

追问

谢谢啦

参考技术A 打开控制面板\外观和个性化\显示\屏幕分辨率\方向

重写onStart()函数

Android开发中有时会遇到这种情况,在数据列表的Activity中点击添加按钮,弹出另一个Activity添加数据,这样返回数据列表的Activity时就需要刷新数据列表(因为添加了一条数据)。这时需要刷新数据列表的代码就应该写在数据列表Activity的onStart()函数里面,而不能写在onCreate()函数里面,因为回到数据列表Activity时调用的是onStart(),而不是onCreate()。

onStart()和onCreate()不同,没有参数,直接上代码。

 

	@Override
	public void onStart(){		
		super.onStart();
		// 是否需要刷新数据
		if (isFlush){
			// 刷新数据
			getData();
			isFlush = false;
		}
	}

 

  

 

以上是关于Android开发,重写了onConfigurationChanged方法。横屏切换竖屛不会重建,而竖屛切换横屏却仍会重建活动的主要内容,如果未能解决你的问题,请参考以下文章

Android开发,重写了onConfigurationChanged方法。横屏切换竖屛不会重建,而竖屛切换横屏却仍会重建活动

Android开发自定义View

Android开发 如何重写SimpleAdapter,自定义字体的大小?

Android11.2 通过重写对应的方法保存和恢复实例的状态

android开发笔记之自定义开关按钮

android开发怎么让个推服务不被手机系统杀掉