zoukankan      html  css  js  c++  java
  • 自定义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;
            
        }
    }
  • 相关阅读:
    Servlet页面跳转实现方法的区别
    谈JSP与XML的交互
    xml可以用做什么?
    Struts1.2入门知识
    做java web 开发的简单项目必须具备的知识
    Web工程师必备的18款工具
    css的四种调用方式
    jQuery Utilities
    历年考研数学常考题型考试必备
    。net思维导图
  • 原文地址:https://www.cnblogs.com/ZP-Better/p/5197440.html
Copyright © 2011-2022 走看看