zoukankan      html  css  js  c++  java
  • Android笔记:ListView

    listview属性

      android:divider属性,可以指定ListView 分隔线的颜色,#0000 表示将分隔线设为透明色。

    listview效率的问题

      adapter的三个参数int position, View convertView, ViewGroup parent

        1,直接使用view 每次打开每次加载,效率最低。

          LayoutInflater inflater = LayoutInflater.from(mContext);

          View view1 = inflater.inflate(R.layout.fruit_item, null);

        2,使用convertView(缓存)

          if (convertView == null) {
             view = LayoutInflater.from(getContext()).inflate(resourceId, null);
           } else {
             view = convertView;
           }

        3,将控件的加载也加入缓存

          public View getView(int position, View convertView, ViewGroup parent) {
            Fruit fruit = getItem(position);
            View view;
            ViewHolder viewHolder;
            if (convertView == null) {
              view = LayoutInflater.from(getContext()).inflate(resourceId, null);
              viewHolder = new ViewHolder();
              viewHolder.fruitImage = (ImageView) view.findViewById(R.id.fruit_image);
              viewHolder.fruitName = (TextView) view.findViewById(R.id.fruit_name);
              view.setTag(viewHolder); // 将ViewHolder存储在View中
            } else {
              view = convertView;
              viewHolder = (ViewHolder) view.getTag(); // 重新获取ViewHolder
            }
            viewHolder.fruitImage.setImageResource(fruit.getImageId());
            viewHolder.fruitName.setText(fruit.getName());
            return view;
          }
          class ViewHolder {
            ImageView fruitImage;
            TextView fruitName;
          }

    listview点击事件

      ListView listView = (ListView) findViewById(R.id.list_view);   

      listView.setAdapter(adapter);   

      listView.setOnItemClickListener(new OnItemClickListener() {

        public void onItemClick(AdapterView<?> parent, View view,      int position, long id) {  

          Fruit fruit = fruitList.get(position);     

          Toast.makeText(MainActivity.this, fruit.getName(), 0).show();

        }

      });

  • 相关阅读:
    英国黑客试图以10万美元勒索苹果
    暗网现大量智能门锁密码,物联网黑客攻击已成常态
    黑客安全专家郭盛华:逃避僵尸网络恶意软件攻击的13种方法
    前端好网站汇总
    中国标准时间转换
    前端各种安装总结
    vue项目如何调用高德地图
    js访问jsion数据动态显示在html页面
    Excel删除重复数据及用公式筛选重复项并标记颜色突出显示
    excel的公式中同一行的一个单元格只能被引用一次
  • 原文地址:https://www.cnblogs.com/lxwy1992/p/4739305.html
Copyright © 2011-2022 走看看