首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

应用自定义的Adapter

2012-09-03 
使用自定义的Adapter使用自定义的Adapter关于性能使用convertView回收试图,性能提高200%使用ViewHolder性

使用自定义的Adapter

使用自定义的Adapter

关于性能使用convertView回收试图,性能提高200%

使用ViewHolder性能再提高50%

继承BaseAdapter类 实现其中的方法,注意getView(),其中是最重要的一个重写方法。

其中使用LayoutInflater将一个xml解释为一个View,然后将传来的数据存入View中。

?

可以使用itemAdapter.notifyDataSetChanged();通知Adapter内容已经改变 进行刷新

?

package com.shinestudio.hexcoversion.adapter;import java.util.List;import java.util.Map;public class ItemAdapter extends BaseAdapter {       static class ItemViewHolder {              TextView t_ori;              TextView t_bin;              TextView t_dec;              TextView t_hex;       }       private static LayoutInflater inflater;       private String[] tag;       private List<Map<String, String>> data;        public ItemAdapter(Context context, String[] tag, List<Map<String, String>> data) {              inflater = LayoutInflater.from(context);              this.tag = tag;              this.data = data;       }       @Override       public int getCount() {              return data.size();       }       @Override       public Object getItem(int position) {              return data.get(position);       }       @Override       public long getItemId(int position) {              return position;       }       @Override       public View getView(int position, View convertView, ViewGroup parent) {              ItemViewHolder holder;              if (convertView == null) {                     convertView = inflater.inflate(R.layout.listitem, null);                     holder = new ItemViewHolder();                     holder.t_ori = (TextView) convertView.findViewById(R.id.tv_ori);                     holder.t_bin = (TextView) convertView.findViewById(R.id.tv_bin);                     holder.t_dec = (TextView) convertView.findViewById(R.id.tv_dec);                     holder.t_hex = (TextView) convertView.findViewById(R.id.tv_hex);                     convertView.setTag(holder);              } else {                     holder = (ItemViewHolder) convertView.getTag();              }              holder.t_ori.setText((String) data.get(position).get(tag[0]));              holder.t_bin.setText((String) data.get(position).get(tag[1]));              holder.t_dec.setText((String) data.get(position).get(tag[2]));              holder.t_hex.setText((String) data.get(position).get(tag[3]));              return convertView;       }}
?

?

热点排行