我创建了一个listview,其中有drawables 1,2,3。 我创建了一个也有drawable 1的按钮。
当我点击带有drawable 1的listview项目时,该按钮的drawable消失。
有什么想法吗?
答案 0 :(得分:2)
您的问题可能是因为drawable总是从常量Drawable
源共享。如果您想要更改其中一个drawable的特征,则需要在其上调用mutate()
,以便共享相同基础的其他drawable不受影响。随着对Google的致谢:
Drawable star = context.getResources().getDrawable(R.drawable.star);
if (book.isFavorite()) {
star.mutate().setAlpha(255); // opaque
} else {
star. mutate().setAlpha(70); // translucent
}
Here是来自的页面。
答案 1 :(得分:0)
我发现了问题:它出现在我们的API中。
基本上,无法共享drawable。所以drawable被添加到ListView并且相同的drawable被添加到按钮。列表视图中的drawable消失了。
因此,我创建了两个具有相同drawable的数组列表;我想不出别的什么。 现在,抽签不会消失。