zoukankan      html  css  js  c++  java
  • android,gridview

    package com.wes.gridview;
    
    import java.util.List;
    
    import android.content.Context;
    import android.content.pm.ResolveInfo;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.GridView;
    import android.widget.ImageView;
    
    public class MyAdapter extends BaseAdapter
    {
        Context context;                //上下文关系
        List<ResolveInfo> apps;            //数据源
        public MyAdapter(Context ctx,List<ResolveInfo> apps)
        {                                //构造函数
            this.context = ctx;
            this.apps = apps;
        }
        @Override
        public int getCount()
        {
            return apps.size();                //得到个数
        }
    
        @Override
        public Object getItem(int position)
        {
            return apps.get(position);        //得到该位置的Item
        }
    
        @Override
        public long getItemId(int position)
        {
            return position;                //得到Item的位置
        }
    
        @Override
        public View getView(int position, View convertView, ViewGroup parent)
        {                                    //得到视图
            ImageView imageView;
            if (convertView == null)
            {
                imageView = (ImageView) new ImageView(context);            //实例化一个ImageView
                imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);//设置尺度模式,缩放以处于中间
                imageView.setLayoutParams(new GridView.LayoutParams(50, 50));//设置布局参数
    
            }
            else
            {
                imageView = (ImageView) convertView;                //直接返回converView
            }
            imageView.setTag(position);
            ResolveInfo info = apps.get(position);                    //得到该位置的ResolvsInfo
            //为ImageView设置背景图片
            imageView.setImageDrawable(info.activityInfo.loadIcon(context.getPackageManager()));
            return imageView;
        }
        
    }
    View Code

    getView会创建立一个屏幕的View(跟屏幕大小有关),接着当用户拖动平面时getView会把已经创建的view传递进来,这里需要做的事情就是改变view的内容
    参考:
    http://www.oschina.net/question/54100_27825

  • 相关阅读:
    康复计划
    Leetcode 08.02 迷路的机器人 缓存加回溯
    Leetcode 38 外观数列
    Leetcode 801 使序列递增的最小交换次数
    Leetcode 1143 最长公共子序列
    Leetcode 11 盛水最多的容器 贪心算法
    Leetcode 1186 删除一次得到子数组最大和
    Leetcode 300 最长上升子序列
    Leetcode95 不同的二叉搜索树II 精致的分治
    Leetcode 1367 二叉树中的列表 DFS
  • 原文地址:https://www.cnblogs.com/wdfrog/p/3272467.html
Copyright © 2011-2022 走看看