有一个用于扩展ListFragment的自定义适配器。列表的每一行都是左侧的ImageView和右侧的TextView。单击图像时,ImageView应将其背景更改为不同的图像。我实现了这种方式:在列表视图中更改单击的imageview背景
public class MyAdapter extends BaseAdapter{
...
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// context.firstViewItem = position;
ViewHolder viewHolder;
if (convertView == null) {
convertView = inflater.inflate(R.layout.row_layout,
null);
viewHolder = new ViewHolder();
viewHolder.likeBtn = (ImageView)convertView.findViewById(R.id.likeBtn);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.likeBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
view.setBackgroundResource(R.drawable.abc_btn_rating_star_on_mtrl_alpha);
}
});
}
return convertView;
}
}
但问题是,这不仅ImageView的背景的变化,但在列表视图变化的第三或第四排的每个ImageView的。我怎样才能改变点击的ImageView的背景?
护理细说R.id.IMAGE_1? – Nazerke 2015-04-06 11:04:38
它是您的图像视图ID,位于xml文件中 – AndroidHacker 2015-04-06 11:05:48