2011-12-09 98 views
0

有一個應用程序在按下按鈕時爲唯一的LinearLayout動態加載UI。 主要用戶界面由Activity擴展,其他用戶通過LinearLayout進行擴展。獨特的LinearLayout位於主UI中。 動態加載部分工作正常。但改變設備或模擬器的方向時,它會轉到主UI。我有一個佈局堆棧以在任何給定時間獲得當前佈局(UI)。 我想在旋轉設備/仿真器時停止移動到主UI。 這可能嗎? 在此先感謝。Android - 在旋轉設備/仿真器時停止移動到主要活動

回答

1

這可能是因爲活動正在重新定位方向變化。 在清單文件中針對主要活動添加以下屬性

<activity android:name=".YourMainActivity" android:configChanges="keyboardHidden|orientation"></activity> 
+0

Thanks..it正在工作。 –

+0

如果其工作正常,則標記爲已回答,以便其他用戶可以輕鬆找到解決方案。它是答案左側的刻度線。 – Umesh

+0

但有一個問題。鍵盤不彈出..我想要它。任何幫助? –

1

我相信會發生這種情況,因爲您沒有正確處理方向更改事件。您應該覆蓋public void onConfigurationChanged (Configuration newConfig)method來處理此問題。

如果您不覆蓋它,並且不要強迫您的活動保持方向,當方向更改時,系統將銷燬您的應用程序並重新啓動它。這就是爲什麼你再次看到主界面。

解決方案:

  1. 明確聲明您在AndroidManifest.xml文件中想要的方向,所以這樣的事件將被忽略。如:android:screenOrientation="portrait"。請參閱here獲取更多選擇。
  2. 覆蓋onConfigurationChanged方法,並根據需要在該方法內改變UI,或者根本不做任何事情,以免忽略該事件。