package net.oschina.gitapp.adapter; import java.util.List; import net.oschina.gitapp.R; import net.oschina.gitapp.bean.CodeTree; import net.oschina.gitapp.util.TypefaceUtils; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; /** * 项目代码树列表适配器 * @created 2014-05-26 下午17:25 * @author 火蚁(http://my.oschina.net/LittleDY) * * 最后更新: * 更新者: */ public class ProjectCodeTreeListAdapter extends MyBaseAdapter<CodeTree> { static class ListItemView { public TextView tag; public TextView name; } public ProjectCodeTreeListAdapter(Context context, List<CodeTree> data, int resource) { super(context, data, resource); } @Override public View getView(int position, View convertView, ViewGroup parent) { ListItemView listItemView = null; if (convertView == null) { //获取list_item布局文件的视图 convertView = listContainer.inflate(this.itemViewResource, null); listItemView = new ListItemView(); //获取控件对象 listItemView.tag = (TextView) convertView.findViewById(R.id.projectcodetree_listitem_tag); listItemView.name = (TextView) convertView.findViewById(R.id.projectcodetree_listitem_name); //设置控件集到convertView convertView.setTag(listItemView); }else { listItemView = (ListItemView)convertView.getTag(); } CodeTree code = listData.get(position); // 1.显示相关的信息 String type = code.getType(); if (type.equalsIgnoreCase(CodeTree.TYPE_BLOB)) { listItemView.tag.setText(R.string.icon_file); } else { listItemView.tag.setText(R.string.icon_folder); } TypefaceUtils.setOcticons(listItemView.tag); listItemView.name.setText(code.getName()); return convertView; } }