package com.roboo.like.netease.adapter; import java.util.LinkedList; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.CheckedTextView; import android.widget.ImageView; import android.widget.TextView; import com.roboo.like.netease.R; import com.roboo.like.netease.model.NewsCategory; public class DSLVAdapter extends BaseAdapter { private LinkedList<NewsCategory> data; private Context context; private boolean isDSLV; public DSLVAdapter(LinkedList<NewsCategory> data, Context context, boolean isDSLV) { super(); this.data = data; this.context = context; this.isDSLV = isDSLV; } public DSLVAdapter(LinkedList<NewsCategory> data, Context context) { this(data, context, false); } @Override public int getCount() { // TODO return null == data ? 0 : data.size(); } @Override public Object getItem(int position) { return null == data ? null : data.get(position); } @Override public long getItemId(int position) { // TODO return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (isDSLV) { if (null == convertView) { holder = new ViewHolder(); convertView = LayoutInflater.from(context).inflate(R.layout.list_item_click_remove, null); holder.mTVText = (TextView) convertView.findViewById(R.id.text); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.mTVText.setText(data.get(position) == null ? "" : data.get(position).getNewsCategoryName()); } else { if(null == convertView) { holder = new ViewHolder(); convertView = LayoutInflater.from(context).inflate(android.R.layout.simple_list_item_checked, null); holder.mCTVText = (CheckedTextView) convertView.findViewById(android.R.id.text1); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.mCTVText.setText(data.get(position) == null ? "" : data.get(position).getNewsCategoryName()); } return convertView; } private class ViewHolder { public TextView mTVText; public CheckedTextView mCTVText; } public void remove(NewsCategory item) { data.remove(item); notifyDataSetChanged(); } public void insert(NewsCategory item, int to) { data.add(to, item); notifyDataSetChanged(); } }