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