您好,我有一个imagebuttonlinearButton,它在xml中有一个背景可绘制集。我想有条件地替换代码中的背景,但这永远不会发生!

Drawable replacer = getResources().getDrawable(R.drawable.replacementGraphic);
linearButton.setBackgroundDrawable(replacer);

这似乎是无效的,是否有一个图像按钮的“重新加载”功能,我必须调用它们之前,他们的视觉变化?

最佳答案

invalidate()方法将强制重绘任何视图:

Drawable replacer = getResources().getDrawable(R.drawable.replacementGraphic);
linearButton.setBackgroundDrawable(replacer);
linearButton.invalidate();

参见here以供参考。

07-21 22:11