zoukankan      html  css  js  c++  java
  • 灭霸-个人冲刺第九天

    1, 昨天的成就:

      a)       完成的任务:失物招领页面完善,框架接近完美

      b)       所花时间:6h

      c)        还剩余2h

    2, 遇到的困难:

    a)     算法整理很困难,初步认为先用标签,更改了表结构,让表结构接近完美,可以充分通过表信息,进行对每一个用户进行建表,以此,充分得知用户的喜好,再根据这些喜好,进行推荐。

    3, 今天的任务:

    a)           转战表白墙设计

      1 package com.weicent.android.csma.adapter;
      2 
      3 import android.content.Context;
      4 import android.util.SparseArray;
      5 import android.view.View;
      6 import android.view.ViewGroup;
      7 import android.widget.BaseAdapter;
      8 
      9 import java.util.ArrayList;
     10 import java.util.List;
     11 
     12 
     13 /**
     14  * 泛型数据适配器
     15  */
     16 public abstract class SimpleBaseAdapter<T> extends BaseAdapter {
     17     protected Context context;
     18     protected List<T> data;
     19     protected boolean busy = false;
     20 
     21     public SimpleBaseAdapter(Context context, List<T> data) {
     22         this.context = context;
     23         this.data = data == null ? new ArrayList<T>() : data;
     24     }
     25 
     26     @Override
     27     public int getCount() {
     28         return data.size();
     29     }
     30 
     31     @Override
     32     public T getItem(int position) {
     33         if (position >= data.size())
     34             return null;
     35         return data.get(position);
     36     }
     37 
     38     @Override
     39     public long getItemId(int position) {
     40         return position;
     41     }
     42 
     43     /**
     44      * 该方法需要子类实现,需要返回item布局的resource id
     45      *
     46      * @return
     47      */
     48     public abstract int getItemResource();
     49 
     50     /**
     51      * 滑动状态
     52      *
     53      * @param busy
     54      */
     55     public void setBusy(boolean busy) {
     56         this.busy = busy;
     57     }
     58 
     59     /**
     60      * 使用该getItemView方法替换原来的getView方法,需要子类实现
     61      *
     62      * @param position
     63      * @param convertView
     64      * @param parent
     65      * @param holder
     66      * @return
     67      */
     68     public abstract View getItemView(int position, View convertView, ViewHolder holder);
     69 
     70     //public abstract View getItemView(int position, View convertView);
     71     @SuppressWarnings("unchecked")
     72     @Override
     73     public View getView(int position, View convertView, ViewGroup parent) {
     74         ViewHolder holder;
     75         if (null == convertView) {
     76             convertView = View.inflate(context, getItemResource(), null);
     77             holder = new ViewHolder(convertView);
     78             convertView.setTag(holder);
     79         } else {
     80             holder = (ViewHolder) convertView.getTag();
     81         }
     82         return getItemView(position, convertView, holder);
     83     }
     84 
     85     //通过布局ID并使用布局中的ID识别控件
     86     public class ViewHolder {
     87         private SparseArray<View> views = new SparseArray<>();
     88         private View convertView;
     89 
     90         public ViewHolder(View convertView) {
     91             this.convertView = convertView;
     92         }
     93 
     94         @SuppressWarnings("unchecked")
     95         public <T extends View> T getView(int resId) {
     96             View v = views.get(resId);
     97             if (null == v) {
     98                 v = convertView.findViewById(resId);
     99                 views.put(resId, v);
    100             }
    101             return (T) v;
    102         }
    103     }
    104 
    105     //添加Item
    106     public void addAll(List<T> elem) {
    107         data.addAll(elem);
    108         notifyDataSetChanged();
    109     }
    110 
    111     //插入Item
    112     public void insert(List<T> elem) {
    113         data.addAll(0, elem);
    114         notifyDataSetChanged();
    115     }
    116 
    117     //移除来自T 也就是model的Item
    118     public void remove(T elem) {
    119         if (elem != null) {
    120             data.remove(elem);
    121         }
    122         notifyDataSetChanged();
    123     }
    124 
    125     //移除来自index 索引的Item
    126     public void remove(int index) {
    127         data.remove(index);
    128         notifyDataSetChanged();
    129     }
    130 
    131     //替换所有Item
    132     public void update(List<T> elem) {
    133         if (elem != null) {
    134             data.clear();
    135             data.addAll(elem);
    136         }
    137         notifyDataSetChanged();
    138     }
    139 
    140     //清除全部的Item
    141     public void clearAll() {
    142         data.clear();
    143         notifyDataSetChanged();
    144     }
    145 }

     

     

     

  • 相关阅读:
    搭建非域AlwaysOn win2016+SQL2016
    从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
    四、基于Windows 2012配置SQL Server 2014 AlwaysOn
    三、安装SQLserver 2014(For AlwaysOn)
    二、 Windows 2012配置故障转移(For SQLServer 2014 AlwaysOn)
    Mybatis-SQL语句构建器类及日志
    Mybatis-JavaAPI
  • 原文地址:https://www.cnblogs.com/smartisn/p/10804794.html
Copyright © 2011-2022 走看看