在listview和视图之间共享时,Drawable消失

时间:2011-08-02 21:22:50

标签: android

我创建了一个listview,其中有drawables 1,2,3。 我创建了一个也有drawable 1的按钮。

当我点击带有drawable 1的listview项目时,该按钮的drawable消失。

有什么想法吗?

2 个答案:

答案 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的数组列表;我想不出别的什么。 现在,抽签不会消失。