我被一个问题难住了。我有一个带有自定义按钮的应用程序,它可以根据连接更改它的可绘制性。
我在设置中有一个选项,当更改时需要重新绘制视图并根据连接状态设置可绘制对象。
我已经在我的 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 尚未完成。我尝试将 UI 更新放在 onResume() 中,但这也不起作用。
有什么建议么?