2016-03-04 52 views
-1

我需要改变点击后MT PIC ..如何更改列表视图中的图像?

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; 
    } 

select image for change

after scroll

+0

您必须存储点击的值在你的ArrayList中的项目而不是之后在你的getView()方法中进行检查,该方法被选中或者不被选择,并相应地在listview中显示项目。 –

回答

0

只是做一件事就当你在项目单击您检查您的标记值之前,如果是添加标签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; 
}