zoukankan      html  css  js  c++  java
  • [Android]ListView学习笔记

    基本用法流程

    • 创建Adapter并且派生自BaseAdapter,实现其必要的接口方法

    • 将创建的Adapter分配给ListView对象:mPhoneBookListView.setAdapter(phoneBookAdapter);

    • 针对每一个ItemView,创建Layout,并且在Adapter的getView方法中指定。为了优化性能,这里获取的对象要尽量重用如下

      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
      
          ViewHolder viewHolder;
      
          //Get a view
          if (convertView == null)
          {
              convertView = mlayoutInflater.inflate(R.layout.item_phone_book_friend,null);
              viewHolder = new ViewHolder();
      
              //获取控件
              viewHolder.nameTextView = (TextView) convertView.findViewById(R.id.name_text_view);
              viewHolder.ageTextView = (TextView) convertView.findViewById(R.id.age_text_view);
              viewHolder.avatarimageView = (ImageView) convertView.findViewById(R.id.avatar_image_view);
      
              convertView.setTag(viewHolder);
          }
          else
          {
              viewHolder = (ViewHolder) convertView.getTag();
      
          }
      
          //Binding data
          viewHolder.nameTextView.setText(mUserInfos.get(position).getUserName());
          viewHolder.ageTextView.setText(String.valueOf(mUserInfos.get(position).getAge()));
          viewHolder.avatarimageView.setImageResource(R.drawable.james22);
      
          return convertView;
      }
      
      class ViewHolder
      {
          //获取控件
          TextView nameTextView;
          TextView ageTextView;
          ImageView avatarimageView;
      
      }
      
    • 若更新了ListView使用的数据源,则通过Adapter的notifyDataSetChanged()方法来更新

    • 其它常用属性和方法

  • 相关阅读:
    如何查看ipynb文件
    使用python绘制爱心
    使用python将十进制数转为ip地址
    python使用下划线分割数字,提高可读性
    python的字符串基本操作
    pandas为csv添加新的行和列
    使用pandas库实现csv行和列的获取
    pycharm批量更改变量名
    (转)Doxygen文档生成工具
    MVC架构学习之Smarty学习——病来而蔫
  • 原文地址:https://www.cnblogs.com/xiuj/p/6112910.html
Copyright © 2011-2022 走看看