zoukankan      html  css  js  c++  java
  • 项目中自己一直用到的baseAdapter的类

      1 import java.util.LinkedList;
      2 import java.util.List;
      3 
      4 import android.content.Context;
      5 import android.view.LayoutInflater;
      6 import android.view.View;
      7 import android.view.ViewGroup;
      8 import android.widget.BaseAdapter;
      9  
     10 
     11 
     12 public abstract class MyBaseAdapter<T> extends BaseAdapter {
     13     protected Context mContext;
     14     protected LayoutInflater mInflater;
     15     protected List<T> mDatas = new LinkedList<T>();  
     16 
     17     public MyBaseAdapter(Context context, List<T> datas) {
     18         mContext = context;
     19         mInflater = LayoutInflater.from(context); 
     20         if (datas != null) {
     21             mDatas = datas;
     22         }
     23     }
     24     
     25     public void addItemLast(List<T> datas) {
     26         mDatas.addAll(datas);
     27     }
     28 
     29     public void addItemTop(List<T> datas) {
     30         mDatas = datas;
     31     }
     32     
     33     @Override
     34     public int getItemViewType(int position) { 
     35         return super.getItemViewType(position);
     36     }
     37 
     38     @Override
     39     public int getViewTypeCount() { 
     40         return super.getViewTypeCount();
     41     }
     42     
     43     public MyBaseAdapter(Context context, List<T> datas,int round) {
     44         mContext = context;
     45         mInflater = LayoutInflater.from(context); 
     46         if (datas != null) {
     47             mDatas = datas;
     48         }
     49     }
     50      
     51 
     52     @Override
     53     public int getCount() {
     54         int count=0;
     55         if(mDatas.size()>0){
     56             count=mDatas.size();
     57         }
     58         return count;
     59     }
     60 
     61     @Override
     62     public Object getItem(int position) { 
     63         return mDatas.get(position);
     64     }
     65 
     66     @Override
     67     public long getItemId(int position) {
     68         return position;
     69     }
     70     
     71     /**
     72     * 移除一条数据集合
     73     * @param position
     74     */
     75     public void remove(int position){
     76         mDatas.remove(position);
     77     }
     78      
     79     /**
     80     * 移除所有数据
     81     */
     82     public void removeAll(){
     83         mDatas.clear();
     84     }
     85 
     86     public List<T> getDatas() {
     87         return mDatas;
     88     }
     89 
     90     @Override
     91     public View getView(int position, View convertView, ViewGroup parent) {
     92         return createView(position,convertView,parent);
     93     } 
     94     
     95     
     96     /***
     97      * 
     98      * @param position 
     99      * @param convertView
    100      * @param parent
    101      * @return
    102      */
    103     public abstract View  createView(int position, View convertView, ViewGroup parent) ;
    104 
    105 }
    View Code
  • 相关阅读:
    java OA系统 自定义表单 流程审批 电子印章 手写文字识别 电子签名 即时通讯
    flowable 获取当前任务流程图片的输入流
    最新 接口api插件 Swagger3 更新配置详解
    springboot 集成 activiti 流程引擎
    java 在线考试系统源码 springboot 在线教育 视频直播功能 支持手机端
    阿里 Nacos 注册中心 配置启动说明
    springboot 集成外部tomcat war包部署方式
    java 监听 redis 过期事件
    springcloudalibaba 组件版本关系
    java WebSocket 即时通讯配置使用说明
  • 原文地址:https://www.cnblogs.com/freexiaoyu/p/5047410.html
Copyright © 2011-2022 走看看