我有一个列表视图,其中包含每个元素中的图片和文字。如果用户点击图像,我必须能够更改其中一个图像,如果用户再次单击它,则将其更改回原始图像。我有一个基本适配器类,我用它来将数据添加到列表视图。在getview方法中,我为图像设置了一个onclick监听器来改变它。我遇到的问题是它只会改变,如果我滚动元素并回到它。我该如何更改,以便更新列表视图而不滚动它。
答案 0 :(得分:0)
只需在ListView
上设置OnItemClickListener。
其余的使用ImageView.setImageDrawable
或类似内容非常简单。
答案 1 :(得分:0)
您可以使用方法
notifyDataSetChanged();
更改listViewAdapter(谁扩展BaseAdapter)中的图像src后
例如
public class ProductItemListView extends ListView {
public ProductItemListView() {
super(context);
mProductAdapter = new ProductItemAdapter(context);
this.setAdapter(mProductAdapter);
}
}
public class ProductItemAdapter extends BaseAdapter {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
...
myImage.setBackgroundResource(R.drawable.other_image);
notifyDataSetChanged();
}
}