• 自定义Adapter


    step1:自定义一个类

    step2: 继承BaseAdapter重写函数。

    step1:

    package com.example.uilistviewtest;
    
    public class Fruit {
    
        private String name;
    
        private int imageId;
    
        public Fruit(String name, int imageId) {
            this.name = name;
            this.imageId = imageId;
        }
    
        public String getName() {
            return name;
        }
    
        public int getImageId() {
            return imageId;
        }
    
    }

    step2:

    package com.example.uilistviewtest;
    
    import java.util.List;
    
    import com.example.uilistviewtest.FruitAdapter.ViewHolder;
    
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    public class FruitAdapter2 extends BaseAdapter {
    
        private Context context;
        private List<Fruit> mData;
        
        public FruitAdapter2(Context context,List<Fruit> mData) {
            // TODO Auto-generated constructor stub
            this.context = context;
            this.mData = mData;
        }
    
        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return mData.size();
        }
    
        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return mData.get(position);
        }
    
        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }
    
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            Fruit fruit = (Fruit) getItem(position);
            View view;
            ViewHolder viewHolder;
            if (convertView == null) {
                view = LayoutInflater.from(context).inflate(R.layout.fruit_item, null);
                viewHolder = new ViewHolder();
                viewHolder.fruitImage = (ImageView) view.findViewById(R.id.fruit_image);
                viewHolder.fruitName = (TextView) view.findViewById(R.id.fruit_name);
                view.setTag(viewHolder);
            } else {
                view = convertView;
                viewHolder = (ViewHolder) view.getTag();
            }
            viewHolder.fruitImage.setImageResource(fruit.getImageId());
            viewHolder.fruitName.setText(fruit.getName());
            return view;
        }
        class ViewHolder {
            
            ImageView fruitImage;
            
            TextView fruitName;
            
        }
    }
  • 相关阅读:
    asp之缓存 cachestate
    ASP。net 之view
    ASP.net gridview之性别
    asp的gridview
    yii源码学习心得2
    yii源码学习心得
    什么是伪静态?伪静态有何作用?
    Yii2.0 时间日期插件之yii2-timepicker
    yii中调整ActiveForm表单样式
    8个新鲜的PHP常用代码
  • 原文地址:https://www.cnblogs.com/ZP-Better/p/5197440.html
Copyright © 2020-2023  润新知