我有一个自定义 ListView ,每个项目都有一个图像按钮,我想在单击时立即更改每个图像按钮的图像。自定义 ListView 中的每个项目都是一个名为 baiHat{} 的对象。 我这样使用 BaiHatAdapter,但它不会立即变化,我必须滚动 ListView 才能看到变化。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater=this.context.getLayoutInflater();
View row=inflater.inflate(this.resource, null);
TextView txtMs = (TextView) row.findViewById(R.id.ms);
TextView txtBh = (TextView) row.findViewById(R.id.bh);
TextView txtCs = (TextView) row.findViewById(R.id.cs);
TextView txtLr = (TextView) row.findViewById(R.id.lr);
ImageButton imglike = (ImageButton) row.findViewById(R.id.imageButton);
final BaiHat baiHat = this.objects.get(position);
txtMs.setText(baiHat.getTxtms());
txtBh.setText(baiHat.getTenBh());
txtCs.setText(baiHat.getTxtcs());
txtLr.setText(baiHat.getTxtLr());
imglike.setImageResource(baiHat.getImg());
imglike.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
xulythich(baiHat);
}
});
return row;
}
private void xulythich(BaiHat baiHat) {
if(baiHat.getThich()){
baiHat.setThich(false);
baiHat.setImg(R.drawable.addfav);
}else{
baiHat.setThich(true);
baiHat.setImg(R.drawable.added);
}
}
最佳答案
创建一个选择器 文件并将其指定为 src 即可。但作为一种更好的方法,您可以尝试将其更改为 togglebutton,因为 imageview 并不意味着可点击并为其提供选择器源的背景。 它看起来就像任何 ImageView ,但具有可点击和从选择器文件更改其背景的能力。
关于java - 单击图像按钮项目自定义 ListView android时更改图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40964899/