文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

优化SimpleAdapter适配器加载效率的方法

2023-05-31 06:12

关注

在主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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯