• Android中如何使用GridView


    首先在主XML中放入Grid View控件 取好id

      private GridView gv1;
        private int[] icon = {R.drawable.cat, R.drawable.cow, R.drawable.dog, R.drawable.hamster};
        private String[] iconName = {"英雄介绍", "技能", "天赋推荐", "推荐出装"};
        private List<Map<String, Object>> data_list = new ArrayList<Map<String, Object>>();
    
        private SimpleAdapter simpleAdapter;
    

    在声明一个xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:id="@+id/image1"
            android:layout_width="100dp"
            android:layout_height="100dp"
            />
        <TextView
            android:id="@+id/text1"
            android:layout_width="100dp"
            android:layout_height="30dp"
            />
    </LinearLayout>
    

    这个里面放置的就是你每一个网格的布局
    (自己根据需要设置)
    记得起好Id,下面用的时候会说自定义的xml

    在类里面声明的东西,Grid View控件
    icon数组里面放入的是图片
    iconName放入相对应的名字

    (都是根据自己的需要改名字和图片)
    建一个List数组泛型为Map<String,Object>
    声明一个Simple Adapter

      private List<Map<String, Object>> getDaste() {
            for (int i = 0; i < icon.length; i++) {
                Map<String, Object> map = new HashMap<>();
                map.put("image", icon[i]);
                map.put("text", iconName[i]);
                data_list.add(map);
            }
            return data_list;
        }
    

    建立一个getDaste方法
    给Map<String,Object>填充数据
    每建立一个Map,都填充两个数据一个是图片,一个是名字
    然后再往刚才声明的List里面添加,添加完在重新声明一个Map
    while(true)…

    gv1 = findViewById(R.id.gridview1);
            getDaste();
            String[] form = {"image", "text"};
            int[] to = {R.id.image1, R.id.text1};
            //创建适配器对象
            simpleAdapter = new SimpleAdapter(MainActivity.this, data_list, R.layout.item, form, to);
    //        simpleAdapter = new SimpleAdapter(MainActivity.this,data_list,R.layout.item,form,to);
            gv1.setAdapter(simpleAdapter);
    

    把声明的Grid View绑定上(通过Id)
    调用刚才创建的方法
    在建立俩个数组
    第一个数组放的是下标(取Map里面的数据所使用的)
    第二个数组放的是控件(自定义的xml里面的id
    使用Simple Adapter的构造方法(当前类,数据源(就是把Map存起来的List),自己声明的那个xml,Map需要的下标,赋值给哪个文件(这里是通过Id进行赋值的))
    最后一步,给Grid View进行填充数据

    运行结果:
    在这里插入图片描述

  • 相关阅读:
    Hadoop1重新格式化HDFS
    centos6.5之Hadoop1.2.1完全分布式部署安装
    Mybatis延迟加载和查询缓存
    剑指offer面试题7:用两个栈实现队列
    Mybatis输入输出映射
    Mybatis开发Dao
    Mybatis入门程序
    SpringMVC系列之URL匹配问题
    SpringMVC系列之主要组件
    mysql学习笔记(三)
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13075923.html
Copyright © 2020-2023  润新知