在主Activity中:listview=(ListView)findViewById(R.id.listview);getData();//为list添加数据overrideSimpleAdapter=new OverrideSimple
在主Activity中:
listview=(ListView)findViewById(R.id.listview);getData();//为list添加数据overrideSimpleAdapter=new OverrideSimpleAdapter(getContext(),list,R.layout.list_item_layout, new String[]{"num","Word","translates"}, new int[]{R.id.tv_num,R.id.tv_word,R.id.tv_translates});listview.setAdapter(overrideSimpleAdapter);重写SimpleAdapter:public class OverrideSimpleAdapter extends SimpleAdapter { private LayoutInflater mInflater; private ArrayList<Map<String, Object>> list; private int mResource; private int[] mTo; private String[] mFrom; public OverrideSimpleAdapter(Context context, ArrayList<Map<String, Object>> data, int resource, String[] from, int[] to) { super(context, data, resource, from, to); this.list=data; this.mInflater = LayoutInflater.from(context); this.mResource = resource; this.mFrom = from; this.mTo = to; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; // 判断是否缓存 if (convertView == null) { holder = new ViewHolder(); // 通过LayoutInflater实例化布局 convertView = mInflater.inflate(mResource, null);// holder.img = (ImageView) convertView.findViewById(R.id.imageView); holder.num = (TextView) convertView.findViewById(mTo[0]); holder.word = (TextView) convertView.findViewById(mTo[1]); holder.translates = (TextView) convertView.findViewById(mTo[2]); convertView.setTag(holder); } else { // 通过tag找到缓存的布局 holder = (ViewHolder) convertView.getTag(); } // 设置布局中控件要显示的视图// holder.img.setBackgroundResource(R.drawable.ic_launcher); holder.num.setText(list.get(position).get(mFrom[0]).toString());// mFrom[0]为“num”Key holder.word.setText(list.get(position).get(mFrom[1]).toString()); holder.translates.setText(list.get(position).get(mFrom[2]).toString()); return convertView; } public final class ViewHolder {// public ImageView img; public TextView num; public TextView word; public TextView translates; }}
--结束END--
本文标题: 优化SimpleAdapter适配器加载效率的方法
本文链接: https://www.lsjlt.com/news/223835.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-16
2024-05-16
2024-05-16
2024-05-16
2024-05-16
2024-05-16
2024-05-16
2024-05-16
2024-05-16
2024-05-16
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0