我需要對我的活動的縱向和橫向方向應用不同的佈局。此外,如果方向是縱向,我需要顯示警報。在Android中旋轉的處理活動
我在AndroidManifest中指定了android:configChanges="orientation|keyboardHidden"
。我還覆蓋onConfigurationChanged方法是這樣的:
@Override
public void onConfigurationChanged(Configuration newConfig)
{
Log.d("tag", "config changed");
super.onConfigurationChanged(newConfig);
int orientation = newConfig.orientation;
if (orientation == Configuration.ORIENTATION_PORTRAIT)
Log.d("tag", "Portrait");
else if (orientation == Configuration.ORIENTATION_LANDSCAPE)
Log.d("tag", "Landscape");
else
Log.w("tag", "other: " + orientation);
....
}
雖然從橫向旋轉爲縱向日誌是這樣的:
config changed
Portrait
不過,雖然從縱向改爲橫向,它看起來像
config changed
Portrait
config changed
Landscape
爲什麼onConfigurationChanged被調用兩次?我怎樣才能避免它?
爲什麼onConfigurationChanged()方法不好?你能給我一個解釋鏈接嗎? 如果我將使用onCreate()或類似的東西,活動將被重新創建,其數據將會丟失。 – darja 2010-09-26 04:32:26