zoukankan      html  css  js  c++  java
  • Listview的运行效率

    1.在getView()方法中有个convertView参数,这个参数可以将之前加载好的布局进行缓存,以便以后重复使用

    if (convertView==null){
    //LayoutInflater 加载我们传入的子项false 表示只让父类layout属性生效
    view= LayoutInflater.from(getContext()).inflate(resourceId,parent,false);
    }else {
    view =convertView;
    }

    如果convertVivw为空则用LayoutInflater来加载我们的子项布局,如果不则用convertView来加载。
    ---------------------------------------------------------------------------------------------------------------------------------------------
    如果添加点击事件的时候
    首先找到ListView控件,通过控件添加监听事件,并且通过position判断点击的那个子项
     initFruits();//初始化水果数据
    FruitAdapter adapter= new FruitAdapter(MainActivity.this,R.layout.fruit_item,fruitList);
    ListView listView = (ListView) findViewById(R.id.lv);
    //将搭建好的对象传入
    listView.setAdapter(adapter);

    //为ListView 设置监听事件
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    //通过position参数判断点击那个子项
    Fruit fruit= fruitList.get(position);
    Toast.makeText(getApplicationContext(),fruit.getName(),Toast.LENGTH_SHORT).show();
    }
    });
     
  • 相关阅读:
    ABP Xunit单元测试 第五篇
    ABP 异常处理 第四篇
    ABP Quartz 作业调度第三篇
    ABP 权限拦截 第二篇
    ABP .NET corej 版本 第一篇
    Vue生命周期
    vue中的import、export、requre的区别
    ES6最新语法
    Vux项目搭建
    对象克隆
  • 原文地址:https://www.cnblogs.com/lyl123/p/7149279.html
Copyright © 2011-2022 走看看