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()方法来更新

    • 其它常用属性和方法

  • 相关阅读:
    个人网站
    物理读,逻辑读,预读
    正则表达式
    面向对象五大基本原则
    工作总结
    sql性能优化
    sqlServer游标的使用
    ASP.NET安全[开发ASP.NET MVC应用程序时值得注意的安全问题](转)
    一个简单问题引发对IEnumerable和IQueryable的思考
    EFCodeFirst 各种命令整理
  • 原文地址:https://www.cnblogs.com/xiuj/p/6112910.html
Copyright © 2011-2022 走看看