2

这看起来很简单,但它只是行不通。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 });
}
4

1 回答 1

3

第一个匹配状态是要设置的状态。您应该将 WILD_CARD 作为最后一个状态。

于 2015-02-12T20:57:54.673 回答