单击更改listview项目的图像

时间:2013-06-20 23:29:11

标签: android android-listview adapter simplecursoradapter

我试图在点击时更改列表项的图像。我尝试使用视图但在使用它时我得到多个项目已更改图像,即使我只是单击一个。我使用的是一个简单的适配器和代码与此问题中给出的代码相同: - changing image on listview at runtime in android

而且我也不想使用自定义适配器。如果有人通过简单的适配器帮助我解决这个问题,那将会非常有用。

当前代码

  @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub

      /*
      imageView=(ImageView)l.getChildAt(position).findViewById(R.id.PlayPause);


      imageView.setImageResource(R.drawable.pause);

      */
}

2 个答案:

答案 0 :(得分:1)

1-当您直接将子视图视为事件中的“View v”时,请不要使用get child。

2-一旦你设置了新的后台资源,你只需要在视图上调用invalidate()方法。

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {

  imageView=((ImageView)v)

  imageView.setImageResource(R.drawable.pause);

  imageView.invalidate();

}

虽然您应该使用带有imageview的简单游标适配器制作列表----- -

http://thinkandroid.wordpress.com/2010/01/09/simplecursoradapters-and-listviews/

请参阅此链接。

答案 1 :(得分:0)

为什么不使用

ListView.OnItemClick(OnItemClickListener{})

http://developer.android.com/reference/android/widget/AdapterView.OnItemClickListener.html