package net.coding.program.project.detail.merge; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import net.coding.program.R; import net.coding.program.common.widget.DataAdapter; import net.coding.program.model.DiffFile; /** * Created by chenchao on 15/6/2. * 应该为 DataAdapter<DiffFile.DiffSingleFile>, * 但为了方便 CommitFileAdapter 继承,CommitFileAdapter 有2种数据类型,所以用了 Object, */ public class MergeFileAdapter extends DataAdapter<Object> { @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHoder holder; if (convertView == null) { holder = new ViewHoder(); convertView = LayoutInflater.from(parent.getContext()).inflate(R.layout.mergefile_list_item, parent, false); holder.icon = convertView.findViewById(R.id.icon); holder.title = (TextView) convertView.findViewById(R.id.title); holder.insertion = (TextView) convertView.findViewById(R.id.insertion); holder.deletion = (TextView) convertView.findViewById(R.id.deletion); convertView.setTag(holder); } else { holder = (ViewHoder) convertView.getTag(); } DiffFile.DiffSingleFile data = (DiffFile.DiffSingleFile) getItem(position); holder.icon.setBackgroundResource(data.getIconId()); holder.title.setText(data.getName()); holder.insertion.setText(data.getInsertions()); holder.deletion.setText(data.getDeletions()); return convertView; } private static class ViewHoder { View icon; TextView title; TextView insertion; TextView deletion; } }