android - 单击更改 ListView 项目的图像

标签 android android-listview adapter simplecursoradapter

我试图在单击时更改列表项的图像。我尝试使用 View ,但在使用它时,即使我只单击一个,我也会得到多个图像已更改的项目。我使用的是 simplecursor 适配器和代码与此问题中给出的代码相同:- 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);

      */
}

最佳答案

1- 当您在事件中直接获取 subview 作为“View v”时,不要使用 get child at。

2- 一旦你设置了新的背景资源,你只需要在 View 上调用 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/

请引用此链接。

关于android - 单击更改 ListView 项目的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17225499/

相关文章:

Android - 将布局 View 添加到 ListView

Android - 如何为具有自定义适配器的 GridView 中的第一个项目添加背景图像?

java - 不保留 CheckBoxPreference 中的值

android - 在 Android 上的 ListView 中延迟加载图像

android - ViewPager + FragmentStatePagerAdapter + 方向改变

java - ListView 不会填充(从文件)

java - 如何使用jsoup重定向到另一个页面并继续打印ListView中的内容?

android 尝试使用 prefrences 保存数据,但不起作用

java - 收到错误 "java.lang.IllegalStateException: Can print only from an activity"?

java - 异常 java.lang.NoClassDefFoundError : pim