这看起来很简单,但它就是不起作用。 选中 ImageView 时应更改位图,但始终显示未选中的图像:
public void addImage()
{
ImageView imageView = new ImageView(context);
m_draw = new StateListDrawable();
m_draw.addState(android.util.StateSet.WILD_CARD, m_bitmapUnchecked);
m_draw.addState(new int[] { android.R.attr.state_checked }, m_bitmapChecked);
imageView.setImageDrawable(m_draw);
this.addView(imageView);
}
public void onClick(View v)
{
m_draw.setState(new int[] { android.R.attr.state_checked });
}
第一个匹配状态是将要设置的状态。您应该将WILD_CARD作为最后一个状态。