代码如下
public class ContactInviteAdapter extends BaseAdapter
{
private Context mContext;
private List<HashMap<String, Object>> contactLists;
private LayoutInflater inflater;
private boolean img_Flag = false;
HashMap<Integer, Boolean> state = new HashMap<Integer, Boolean>(); //主要用来存储position对应的boolean数据
public ContactInviteAdapter(Context context, List<HashMap<String, Object>> contactFriends)
{
mContext = context;
this.contactLists = contactFriends;
inflater = LayoutInflater.from(mContext);
initMap();
}
private void initMap()
{
for (int i = 0; i < contactLists.size(); i++)
{
state.put(i, false);
}
}
@Override
public int getCount()
{
return contactLists == null?0:contactLists.size();
}
@Override
public Object getItem(int arg0)
{
return contactLists == null?0:contactLists.get(arg0);
}
@Override
public long getItemId(int arg0)
{
return contactLists.indexOf(contactLists.get(arg0));
}
@Override
public View getView(final int position, View convertView, ViewGroup parent)
{
final ViewHolder holder = new ViewHolder();
View view = convertView;
if(view == null)
{
view = inflater.inflate(R.layout.contact_find_all, null);
}
else
{
view = convertView;
}
holder.imgCheck = (ImageView) view.findViewById(R.id.contact_find_all_edit_id);
holder.imgHead = (ImageView) view.findViewById(R.id.contact_img_id);
holder.tvName = (TextView) view.findViewById(R.id.contact_name_id);
holder.tvNumber = (TextView) view.findViewById(R.id.contact_number_id);
holder.tvInvite = (TextView) view.findViewById(R.id.contact_inviteby_id);
holder.imgHead.setBackgroundResource((Integer) contactLists.get(position).get("contactinviteimgHead"));
holder.tvName.setText(contactLists.get(position).get("contactinvitename").toString());
holder.tvNumber.setText(contactLists.get(position).get("contactinvitenumber").toString());
holder.tvInvite.setText(contactLists.get(position).get("contactinviteBy").toString());
holder.imgCheck.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if(!state.get(position))
{
holder.imgCheck.setImageDrawable(mContext.getResources().getDrawable(R.drawable.invitebuttonbk33));
} else
{
;
}
img_Flag = !state.get(position);
state.put(position, img_Flag);
notifyDataSetChanged();
}
});
return view;
}
static class ViewHolder
{
ImageView imgCheck;
ImageView imgHead;
TextView tvName;
TextView tvNumber;
TextView tvInvite;
}
}
------解决方案--------------------
没看明白你要做什么。
------解决方案--------------------
怎么混乱法?