ListView中点击某个item中的某个控件换本控件的不同背景

来源:互联网 发布:服装设计软件下载 编辑:程序博客网 时间:2024/04/27 21:29



做的一个播放音乐的列表,点击其中一个item播放按钮变成暂停的图片,再次点击点击暂停变成播放的图片,各个item点击只会变换自己的按钮:

(目前还没有碰到什么方法能直接使用imageView得到src里面的“R.drawable.foo"这串文字,必须通过setTag方法得到,以后碰到好的方法再记载)

In onCreate():

ImageView myViewImg = (ImageView) findViewById(R.id.someImage);<pre name="code" class="java">myViewImg.setTag(R.drawable.foo);view.setOnClickListener(new OnClickListener() {  public void onClick(View view) {   ImageView imageView = (ImageView) view;   assert(R.id.someImage == imageView.getId());   Integer integer = (Integer) imageView.getTag();//方式一   //Integer integer = (Integer) myViewImg.getTag();方式二   //Integer integer = (Integer) view.getTag();方式三   integer = integer == null ? 0 : integer;   switch(integer) {    case R.drawable.foo:     imageView.setDrawableResource(R.drawable.bar);     imageView.setTag(R.drawable.bar);     break;    case R.drawable.bar:    default:     imageView.setDrawableResource(R.drawable.foo);     imageView.setTag(R.drawable.foo);     break;  }});
Then, if you like, you can create a simple function to get the drawable id:
private int getDrawableId(ImageView iv) {    return (Integer) iv.getTag();}
Too easy.

0 0