首先在主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进行填充数据

运行结果:

Android中如何使用GridView的更多相关文章

  1. Android中动态设置GridView的列数、列宽和行高

    在使用GridView时我们知道,列数是可以通过设计时的属性来设置的,列的宽度则是根据列数和GridView的宽度计算出来的.但是有些时候我们想实现列数是动态改变的效果,即列的宽度保持某个值,列的数量 ...

  2. Android中ScrollView嵌套GridView,解决GridView显示不全的问题

    /** * 自定义gridview,解决ScrollView中嵌套gridview显示不正常的问题(1行半) * */ public class MyGridView extends GridView ...

  3. Android中GridLayout与GridView区别

    GridLayout初步研究:可以这么说这个布局绝对是开发者的福音,它大大简化了对复杂布局的处理,包括性能提高不是一倍两倍.它与GridView是完全不同的概念, GridView是一种适配器布局,它 ...

  4. Android中ListView嵌套GridView的简单消息流UI(解决宽高问题)

    最近搞一个项目,需要用到类似于新浪微博的消息流,即每一项有文字.有九宫格图片,因此这就涉及到ListView或者ScrollView嵌套GridView的问题.其中GridView的高度问题在网上都很 ...

  5. android中ScrollView和GridView/ListView共存时,ScrollView不在顶部的解决方法

    listView.setFocusable(false); gridView.setFocusable(false); 这个必须在代码中写,xml文件中设置不起作用 原文:http://stackov ...

  6. Android中使用GridView和ImageViewSwitcher实现电子相册简单功能

    我们在手机上查看相册时,首先看到的是网格状的图片展示界面,然后我们选择想要欣赏的照片点击进入,这样就可以全屏观看该照片,并且可以通过左右滑动来切换照片.如下图的显示效果: 首先我们先罗列一下本次实现所 ...

  7. Android中GridView通过自定义适配器(未优化)实现图文视图排列

    Android中GridView组件用来以网格方式排列视图,与矩阵类似,当屏幕上有很多元素(文字.图片或其他元素)需要显示时,可以使用该组件.下面我们通过代码实现如下图例(为了方便截图,将事件处理(土 ...

  8. Android中ListView中有button,checkbox,GridView时事件问题

    最近做项目,用到了listview的item的一些问题,现在抽空把它们总结一下: 转载请表明出处:http://blog.csdn.net/wdaming1986/article/details/67 ...

  9. android中ScrollView嵌套ListView或GridView显示位置问题

    Android中ScrollView中嵌套ListView或GridView时在开始进入界面时总是显示中间位置,开头的位置显示不出来.这种情况下只需要在ScrollView的父控件中添加以下两行代码即 ...

随机推荐

  1. [hdu5373 The shortest problem]模拟

    http://acm.hdu.edu.cn/showproblem.php?pid=5373 思路:按题意来即可. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  2. [hdu]5202

    思路:把所有'?'用'a'代替,如果冲突则最后一个改为'b',注意特判最后一个问号在中间的情况.

  3. @RequestParam和@RequestBody和@PathVariable用法小结

    @RequestParam 使用@RequestParam接收前段参数比较方便,前端传参的URL: url = "${ctx}/main/mm/am/edit?Id=${Id}&na ...

  4. mybatis association的使用

    在上一篇文章中介绍了collection的使用以及java bean,表的结构,今天进行association使用的学习,在多对一的映射关系中,查询到多的一方顺带查询出一的一方是常见的!在此例子中,在 ...

  5. 11.2Go gin

    11.1 Go gin 框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用. 成长总不会一蹴而就,从写出程序获取成就感,再到精通框架,快速构造应用. Gin是一个golang的微框架,封装比较 ...

  6. 3.1Go变量

    3.1 Go变量 变量是对内存中数据存储空间的表示,如同门牌号对应着房间,同样的,变量名字对应变量的值. 变量:本质就是一块内存空间.用于存储某个数值.该数值在运行时可以改变. 变量使用步骤 1.声明 ...

  7. PL/SQL语言语法

    一.前言 SQL全称是"结构化查询语言(Structured Query Language)",而PL/SQL是过程语言(Procedure Language),是对SQL的扩展. ...

  8. UVA 11651

    题目链接:https://cn.vjudge.net/problem/UVA-11651 解题思路: 思路来源于网络. DP + 矩阵快速幂. 设 dp[i][j] 为满足 score 为 i 且最后 ...

  9. Poj2965 冰箱的开关

    #include<iostream> using namespace std; int flag; int step; ][]; ] = { }; ] = { }; void turn(i ...

  10. Java入门以及使用IDEA安装和使用

    目录 JAVA第一个程序 HelloWorld 可能会遇到的情况 JAVA程序运行机制 IDEA安装 什么是IDE IDEA介绍 IDEA下载 IDEA基本使用 关于一些创建项目的小tips JAVA ...