import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.CheckBox; import android.widget.TextView; import com.lc.hx.R; import com.lc.hx.phone.entity.DialItem; import java.util.ArrayList; import java.util.List; public class CallDeleteAdapter extends BaseAdapter implements View.OnClickListener { private List<DialItem> list; private List<DialItem> selectList = new ArrayList<DialItem>(); private Context context; public CallDeleteAdapter(Context context, List<DialItem> list) { this.context = context; this.list = list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { MyViewHolder holder; if (convertView == null) { holder = new MyViewHolder(); convertView = LayoutInflater.from(context).inflate(R.layout.ph_selector_list_check_item, null); holder.tvTitle = (TextView) convertView.findViewById(R.id.tv_title); holder.tvContent = (TextView) convertView.findViewById(R.id.tv_content); holder.cbxCheck = (CheckBox) convertView.findViewById(R.id.cbx_checked); convertView.setTag(holder); } else { holder = (MyViewHolder) convertView.getTag(); } final DialItem dialItem = list.get(position); holder.tvTitle.setText(dialItem.getTitle()); holder.tvContent.setText(dialItem.getContent()); convertView.setOnClickListener(this); convertView.setTag(R.layout.ph_selector_list_check_item, position); holder.cbxCheck.setChecked(selectList.contains(dialItem)); //TODO 隔行图标变色 return convertView; } @Override public void onClick(View v) { int position = (int) v.getTag(R.layout.ph_selector_list_check_item); DialItem item = list.get(position); if (selectList.contains(item)) { selectList.remove(item); } else { selectList.add(item); } notifyDataSetChanged(); } private class MyViewHolder { TextView tvTitle; TextView tvContent; CheckBox cbxCheck; } }
转载于:https://my.oschina.net/u/2358780/blog/1492081