今天遇到一个问题,在 Android 4.4 系统下,Java 代码布局中调用 RadioButton.setButtonDrawable(null)
无效,而在 xml 布局中设置元素属性 android:button="@null"
有效,并且在 Android 5.0+ 系统上调用 Java 代码布局也有效。
初步分析,应该是系统差异导致的,因此直接比较 Android 4.4 和 Android 5.0 系统代码中 RadioButton.setButtonDrawable()
方法的差异。
Android 4.4 版本的代码如下:
public void setButtonDrawable(Drawable d) {
if (d != null) {
if (mButtonDrawable != null) {
mButtonDrawable.setCallback(null);
unscheduleDrawable(mButtonDrawable);
}
d.setCallback(