转屏界面刷新问题

Android开发时

会经常遇到转屏时,界面重新加载了,之前的数据也都没了。

这是为什么呢?


这是因为 在转屏时 会先摧毁当前activity 然后重新 onCreate()

so 我们来看看怎么解决它 

1)首先 在manifest中的对应Activity属性中加入

android:configChanges="orientation|keyboardHidden|screenSize

Tip:screenSize 是在Android 4.0 之后才加上的,所以网上查到的很多都是没有加这个参数


2)接下来 在Java代码中 加入

@Override
	public void onConfigurationChanged(Configuration newConfig) {
		super.onConfigurationChanged(newConfig);
		if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
			//TODO 横屏操作
		} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
			//TODO 竖屏操作
		}
	}

如果不需要做任何操作的话 可以将整个 if条件语句去掉

重新 run 一下 , 是不是转屏时不会再出现之前的情况了?

你可能感兴趣的:(android,转屏)