我有一個應用程序,使用onConfigurationChanged(Configuration cfg)
。我也設置了android:configChanges="orientation|keyboardHidden"
。所以onConfigChanged()
方法被調用,因爲我有layout-land
和layout-port
目錄與佈局兩個方向,我有一段代碼看起來像這樣:Android在setContentView應用設置
@Override
public void onConfigurationChanged(Configuration cfg) {
super.onConfigurationChanged(cfg);
setContentView(R.layout.activity_main);
controller.applySettingsToButtons();
}
(activity_main是佈局的肖像版本相同,但需要重新設置,否則該應用程序將在橫向模式下的人像版本,我顯然不希望)
我想要什麼
我想,當我旋轉顯示屏,有應用程序指示切換到layout-land
文件,切換後,對按鈕和內容應用一些(動態)設置。
會發生什麼
新的景觀內容查看設置,但對於按鈕設置不適用,儘管applySettingsToButtons()
方法跑去。
思考
首先我想mabybe了的setContentView在另一個線程中運行,造成applySettingsToButtons()
排名榜首。但是當我把它們放在一個新的線程中運行時,就會發生與之前一樣的事情。
問題
如何申請設置按鈕和設置其他(或相同的)內容查看後的東西?
您是否嘗試過使用調試器並逐步執行代碼?你確定onconfigurationchanged被調用嗎?如果是,也許你需要使佈局無效。 – Warpzit
yes調用onConfigurationChanged()。虐待嘗試thevalide() – stealthjong