Android 如何更改列表视图中的图像?
点击后我需要更改mt图片Android 如何更改列表视图中的图像?,android,listview,Android,Listview,点击后我需要更改mt图片 public View getView(final int position, View itemListView, ViewGroup parent) { final ViewHolder holder; if (itemListView == null) { holder = new ViewHolder(); itemListView = inflater.inflate(R.lay
public View getView(final int position, View itemListView, ViewGroup parent) {
final ViewHolder holder;
if (itemListView == null) {
holder = new ViewHolder();
itemListView = inflater.inflate(R.layout.lessons_single_item_details,null);
itemListView.findViewById(R.id.btn_reading);
holder.btn_reminders =(ImageView) itemListView.findViewById(R.id.btn_Reminders);
itemListView.setTag(holder);
}
else {
holder = (ViewHolder) itemListView.getTag();
}
holder.btn_reminders.setFocusable(false);
holder.btn_reminders.setFocusableInTouchMode(false);
holder.btn_reminders.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
holder.btn_reminders.setBackgroundResource(R.drawable.ic_star);
}
});
return itemListView;
}
private class ViewHolder{
public ImageView btn_reminders;
}
只需做一件事,单击项目时添加标记,然后检查标记值是否为true,然后设置所选的可绘制对象,否则设置为取消选择可绘制对象
public View getView(final int position, View itemListView, ViewGroup parent) {
final ViewHolder holder;
if (itemListView == null) {
holder = new ViewHolder();
itemListView = inflater.inflate(R.layout.lessons_single_item_details,null);
itemListView.findViewById(R.id.btn_reading);
holder.btn_reminders =(ImageView) itemListView.findViewById(R.id.btn_Reminders);
itemListView.setTag(holder);
}
else {
holder = (ViewHolder) itemListView.getTag();
}
if(holder.btn_reminders.getTag().equals(true))
{
holder.btn_reminders.setBackgroundResource(R.drawable.ic_star);
}
else
{
holder.btn_reminders.setBackgroundResource(R.drawable.ic_un_star);
}
holder.btn_reminders.setFocusable(false);
holder.btn_reminders.setFocusableInTouchMode(false);
holder.btn_reminders.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
holder.btn_reminders.setBackgroundResource(R.drawable.ic_star);
holder.btn_reminders.setTag(true);
}
});
return itemListView;
}
private class ViewHolder{
public ImageView btn_reminders;
}
您必须将单击项的值存储在arraylist中,然后在您的getView()方法中进行检查(无论是否选中),并相应地在listview中显示项。