全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

在主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:/**
 * Created by KewenC on 2017/1/26.
 */

public class OverrideSimpleAdapter extends SimpleAdapter {
  /**
   * Constructor
   *
   * @param context The context where the View associated with this SimpleAdapter is running
   * @param data   A List of Maps. Each entry in the List corresponds to one row in the list. The
   *         Maps contain the data for each row, and should include all the entries specified in
   *         "from"
   * @param resource Resource identifier of a view layout that defines the views for this list
   *         item. The layout file should include at least those named views defined in "to"
   * @param from   A list of column names that will be added to the Map associated with each
   *         item.
   * @param to    The views that should display column in the "from" parameter. These should all be
   *         TextViews. The first N views in this list are given the values of the first N columns
   */

  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;
  }
}

以上这篇优化SimpleAdapter适配器加载效率的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# simpleadapter适配器  # Android 适配器模式应用及设计原理  # 给大家  # 希望能  # 重写  # 这篇  # 小编  # 大家多多  # 判断是否  # 加载  # extends  # public  # param  # Constructor  # SimpleAdapter  # tv_word  # setAdapter  # tv_translates  # KewenC  # Created  # context  # entries 


相关文章: 网页设计与网站制作内容,怎样注册网站?  西安专业网站制作公司有哪些,陕西省建行官方网站?  如何通过多用户协作模板快速搭建高效企业网站?  临沂网站制作公司有哪些,临沂第四中学官网?  ,石家庄四十八中学官网?  深入理解Android中的xmlns:tools属性  如何用狗爹虚拟主机快速搭建网站?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  深圳网站制作的公司有哪些,dido官方网站?  如何快速建站并高效导出源代码?  宝塔建站助手安装配置与建站模板使用全流程解析  黑客入侵网站服务器的常见手法有哪些?  如何快速查询网址的建站时间与历史轨迹?  定制建站策划方案_专业建站与网站建设方案一站式指南  C#如何序列化对象为XML XmlSerializer用法  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  建站之星导航如何优化提升用户体验?  太原网站制作公司有哪些,网约车营运证查询官网?  开心动漫网站制作软件下载,十分开心动画为何停播?  网站制作壁纸教程视频,电脑壁纸网站?  如何快速搭建高效简练网站?  建站之星如何开启自定义404页面避免用户流失?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  代刷网站制作软件,别人代刷火车票靠谱吗?  如何高效配置IIS服务器搭建网站?  太平洋网站制作公司,网络用语太平洋是什么意思?  如何快速搭建虚拟主机网站?新手必看指南  企业微网站怎么做,公司网站和公众号有什么区别?  购物网站制作公司有哪些,哪个购物网站比较好?  建站之星代理费用多少?最新价格详情介绍  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  Python文件管理规范_工程实践说明【指导】  济南专业网站制作公司,济南信息工程学校怎么样?  如何选购建站域名与空间?自助平台全解析  打鱼网站制作软件,波克捕鱼官方号怎么注册?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何用西部建站助手快速创建专业网站?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  如何通过免费商城建站系统源码自定义网站主题与功能?  网站制作话术技巧,网站推广做的好怎么话术?  如何通过虚拟主机快速完成网站搭建?  建站之星安装步骤有哪些常见问题?  如何通过虚拟机搭建网站?详细步骤解析  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  微信小程序 五星评分(包括半颗星评分)实例代码  在线教育网站制作平台,山西立德教育官网?  如何快速生成可下载的建站源码工具?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  nginx修改上传文件大小限制的方法 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。