package com.talk.demo; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; import java.util.List; public class DailyListAdapter extends ArrayAdapter<String> { private final Context context; private final List<String> values; private int[] colors = new int[] { 0xffff0000, 0xff444444 }; public DailyListAdapter(Context context, List<String> values) { super(context, R.layout.daily_listitem, values); this.context = context; this.values = values; } public void removeItem(int position){ values.remove(position); this.notifyDataSetChanged(); } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { holder = new ViewHolder(); convertView = LayoutInflater.from(context).inflate(R.layout.daily_listitem, null); holder.image = (ImageView)convertView.findViewById(R.id.pre_image); holder.text = (TextView)convertView.findViewById(R.id.pre_content); holder.feed_like = (ImageView)convertView.findViewById(R.id.feed_like); holder.feed_comment = (ImageView)convertView.findViewById(R.id.feed_comment); // 将holder绑定到convertView convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } // 向ViewHolder中填入的数据 //holder.image.setBackgroundColor(0xff3cb371);; holder.text.setText(values.get(position)); int colorPos = position % colors.length; convertView.setBackgroundColor(colors[colorPos]); if(0 == colorPos) { holder.feed_like.setImageResource(R.drawable.ic_feed_like_white); holder.feed_comment.setImageResource(R.drawable.ic_feed_comment_white); } //holder.text.setTextColor(color.holo_blue_dark); holder.feed_like.setOnClickListener(new FeedListener(position)); return convertView; } class FeedListener implements OnClickListener { private int position; FeedListener(int pos) { position = pos; } @Override public void onClick(View v) { //ToDo:save this record //remove this item from list removeItem(position); } } /** * ViewHolder类用以储存item中控件的引用 */ final class ViewHolder { ImageView image; TextView text; ImageView feed_like; ImageView feed_comment; } }