在主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; }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机优化SimpleAdapter适配器加载效率的方法
后端开发2023-05-31
Windows内存效率的优化方法
后端开发2023-05-23
Android ListView适配器(Adapter)优化方法详解
后端开发2022-06-06
提升Python编程效率:电脑配置优化方法
后端开发2024-04-02
Android 通过ViewHolder优化适配器的实现方法(必看)
后端开发2022-06-06
Oracle数据加载速度的优化方法
后端开发2024-04-02
分布式容器如何优化ASP应用程序的加载和运行效率?
后端开发2023-10-03
JavaScript图片懒加载的优化方法详解
后端开发2024-04-02
openBluetoothAdapter初始化蓝牙适配器的方法
后端开发2023-06-26
android中H5本地缓存加载优化的方法
后端开发2023-06-14
提升Ruby代码效率:方法参数的优化策略
后端开发2024-12-13
JS加载性能Tree Shaking优化的方法是什么
后端开发2023-07-04
PHP Linux脚本优化技巧:提高运行效率的方法
后端开发2023-10-21
Win8添加虚拟网卡网络适配器的方法
后端开发2022-06-04
JS首屏加载时间优化的解决方法总结
后端开发2024-04-02
JavaScript实用的图片懒加载优化方法有哪些
后端开发2023-06-29
Python 容器打包:如何使用 load() 方法加载数据并提高效率?
后端开发2023-10-31
咦!没有更多了?去看看其它编程学习网 内容吧