package com.jiuqi.njt.adapter; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import android.content.Context; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.TextView; import com.jiuqi.njt.R; /** * 错误日志选择适配器 * @author Administrator * */ public class ErrorLogSelectAdapter extends BaseAdapter { LayoutInflater inflater ; private List<String> list =new ArrayList<String>(); private Context context; private HashSet<String> selectedItems; public ErrorLogSelectAdapter(Context context,List<String> list){ this.list = list; this.context = context; selectedItems = new HashSet<String>(); } public HashSet<String> getSelectedItems() { return selectedItems; } public void setSelectedItems(HashSet<String> selectedItems) { this.selectedItems = selectedItems; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return 0; } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder=null; if(convertView==null){ holder = new ViewHolder(); inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.dateitem, null); holder.date = (TextView) convertView.findViewById(R.id.date); holder.checkDate = (CheckBox) convertView.findViewById(R.id.checkBoxDate); convertView.setTag(holder); }else{ holder = (ViewHolder) convertView.getTag(); } holder.date.setGravity(Gravity.CENTER_HORIZONTAL); holder.date.setText(list.get(position)); holder.checkDate.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){ selectedItems.add(list.get(position)); }else{ selectedItems.remove(list.get(position)); } } }); return convertView; } class ViewHolder{ TextView date; CheckBox checkDate; } }