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();
    }
    });
     
  • 相关阅读:
    检测是否安装了新包
    redux和mobx的比较
    ssh登录远程服务器
    法律
    如何解决二方包彼此依赖?
    创业
    【转】裸辞4个月,面试30家公司。
    添加群机器人
    RESTful状态码说明
    MongoDB简单介绍以及基本命令
  • 原文地址:https://www.cnblogs.com/lyl123/p/7149279.html
Copyright © 2011-2022 走看看