Android 如何更改列表视图中的图像?

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

点击后我需要更改mt图片

 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中显示项。