加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Android BaseAdapter使用分析

发布时间:2021-11-21 19:21:01 所属栏目:PHP教程 来源:互联网
导读:类概述 BaseAdapter主要用于ListView(实现指定的ListAdapter接口)、Spinner(实现指定的SpinnerAdapter接口)以及GridView的共同实现一个公共基类适配器。 假设我们实现一个ArrayListAdapter, public abstract class ArrayListAdapterT extends BaseAdapter{ p
类概述
 
BaseAdapter主要用于ListView(实现指定的ListAdapter接口)、Spinner(实现指定的SpinnerAdapter接口)以及GridView的共同实现一个公共基类适配器。
 
假设我们实现一个ArrayListAdapter,
 public abstract class ArrayListAdapter<T> extends BaseAdapter{
       
        protected ArrayList<T> mList;
        protected Activity mContext;
        protected ListView mListView;
       
        public ArrayListAdapter(Activity context){
                this.mContext = context;
        }
 
        @Override
        //设置像layout中填充的条目数量
        public int getCount() {
                if(mList != null)
                        return mList.size();
                else
                        return 0;
        }
 
        @Override
        public Object getItem(int position) {
                return mList == null ? null : mList.get(position);
        }
 
        @Override
        public long getItemId(int position) {
                return position;
        }
 
        @Override
    /**
      * @param position      position就是位置从0开始
      * @param convertView  convertView是Spinner,ListView中每一项要显示的view
      * @param parent        parent就是父窗体了,也就是Spinner,ListView,GridView了
      * @return              通常return 的view也就是convertView
      * 绘制的内容均在此实现
      */
        abstract public View getView(int position, View convertView, ViewGroup parent);
       
        public void setList(ArrayList<T> list){
                this.mList = list;
                notifyDataSetChanged();
        }
       
        public ArrayList<T> getList(){
                return mList;
        }
       
        public void setList(T[] list){
                ArrayList<T> arrayList = new ArrayList<T>(list.length);   
                for (T t : list) {   
                        arrayList.add(t);   
                }   
                setList(arrayList);
        }
       
        public ListView getListView(){
                return mListView;
        }
       
        public void setListView(ListView listView){
                mListView = listView;
        }
 
}

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读