0
我被一個問題困住了。我有一個自定義按鈕的應用程序,它可以根據連接更改它的繪製。用程序化狀態刷新UI
我有一個設置選項,當更改時需要重新繪製視圖並根據連接狀態設置drawable。
我已經在我的Activity中實現了onSharedPreferenceChange,並在那裏使用setContentView重新載入相應的UI。
之後,我根據我的連接狀態設置可繪製按鈕。像這樣的東西。
String dexterity = prefs.getString(
getString(R.string.landscape_orientation_key), "Right");
if (dexterity.equals("Left")) {
setContentView(R.layout.activity_main_left);
} else {
setContentView(R.layout.activity_main);
}
updateButtonDrawable(myClass.getCurrentButtonDrawable())
UI成功重繪爲默認狀態,該狀態沒有作爲按鈕的src的可繪製集。我調用來更新可繪製按鈕的方法雖然沒有效果。所述方法已被證明並在整個應用程序中使用,所以我確信代碼能夠正常工作,並且我已經檢查過正試圖設置當前狀態。
我認爲這可能是我的調用updateButtonDrawable時setContentView還沒有完成。我嘗試在onResume()中放置UI更新,但那也不起作用。
有什麼建議嗎?
你可以顯示'updateButtonDrawable'代碼 –
這是很多代碼...但足以說它從我的服務中獲取當前按鈕狀態(在調試中正確設置),並基於它設置按鈕drawable使用button.setImageDrawable – Stephen
'setImageDrawable'?什麼是「按鈕」? –