1

我正在尝试在单击时更改列表项的图像。我尝试使用视图,但在使用它时,即使我只单击一个,我也会得到多个图像已更改的项目。我使用的是简单的光标适配器,并且代码是相同的正如这个问题中给出的那样:-在 android 运行时更改 listview 上的图像

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

当前代码

  @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);

      */
}
4

2 回答 2

1

1-当您在事件中直接将子视图作为“视图 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/

请参阅此链接。

于 2013-06-21T10:04:48.147 回答
0

为什么不使用

ListView.OnItemClick(OnItemClickListener{})

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

于 2013-06-20T23:37:07.340 回答