当前位置: 首页 > news >正文

Android studio之GridView使用

目录

      • 效果图:![在这里插入图片描述](https://img-blog.csdnimg.cn/86e4a48a71164dec82613d58b1fbaa1c.jpeg)
      • 代码:

效果图:在这里插入图片描述

代码:

UserGridviewAdapter

package com.example.gridviewpro.Adapter;import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;import com.example.gridviewpro.R;
import com.example.gridviewpro.bean.UserGridviewBean;import java.util.List;public class UserGridviewAdapter extends BaseAdapter {private Context mContext;private List<UserGridviewBean> mUserGridviewBeanList;public UserGridviewAdapter(Context context, List<UserGridviewBean> userGridviewBeanList) {mContext = context;mUserGridviewBeanList = userGridviewBeanList;}@Overridepublic int getCount() {return mUserGridviewBeanList == null ? 0 : mUserGridviewBeanList.size();}@Overridepublic Object getItem(int i) {return getItem(i);}@Overridepublic long getItemId(int i) {return i;}@Overridepublic View getView(int i, View view, ViewGroup viewGroup) {ViewHolder viewHolder;if (view == null) {view = View.inflate(mContext, R.layout.gridview_item, null);viewHolder = new ViewHolder(view);view.setTag(viewHolder);} else {viewHolder = (ViewHolder) view.getTag();}UserGridviewBean userGridviewBean = mUserGridviewBeanList.get(i);viewHolder.mImageView.setImageResource(R.drawable.img);viewHolder.mUserName.setText(userGridviewBean.getUserName());viewHolder.mPower.setText(String.valueOf(userGridviewBean.getPower()));return view;}staticclass ViewHolder {View mView;ImageView mImageView;TextView mUserName;TextView mPower;ViewHolder(View view) {this.mView = view;this.mImageView = (ImageView) view.findViewById(R.id.img);this.mUserName = (TextView) view.findViewById(R.id.userName);this.mPower = (TextView) view.findViewById(R.id.power);}}
}

UserGridviewBean

package com.example.gridviewpro.bean;public class UserGridviewBean {private int mImage;private String mUserName;private int mPower;public UserGridviewBean(int image, String userName, int power) {mImage = image;mUserName = userName;mPower = power;}public int getImage() {return mImage;}public void setImage(int image) {mImage = image;}public String getUserName() {return mUserName;}public void setUserName(String userName) {mUserName = userName;}public int getPower() {return mPower;}public void setPower(int power) {mPower = power;}
}

MainActivity

package com.example.gridviewpro;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.Toast;import com.example.gridviewpro.Adapter.UserGridviewAdapter;
import com.example.gridviewpro.bean.UserGridviewBean;import java.util.ArrayList;
import java.util.List;public class MainActivity extends AppCompatActivity {private List<UserGridviewBean> mUserGridviewBeanList = new ArrayList<>();private GridView mGridView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);DateResourse();mGridView = findViewById(R.id.gv);mGridView.setAdapter(new UserGridviewAdapter(MainActivity.this, mUserGridviewBeanList));//监控item点击情况mGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {Toast.makeText(MainActivity.this, mUserGridviewBeanList.get(i).getUserName(), Toast.LENGTH_SHORT).show();}});}private void DateResourse() {for (int i = 0; i < 100; i++) {mUserGridviewBeanList.add(new UserGridviewBean(R.drawable.img, "张三" + i, 100 + i));}}
}

item

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical">
<ImageViewandroid:id="@+id/img"android:layout_width="60dp"android:layout_height="60dp"android:layout_gravity="center"/><TextViewandroid:id="@+id/userName"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="10sp"android:layout_gravity="center"/><TextViewandroid:id="@+id/power"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="10sp"android:layout_gravity="center"/>
</LinearLayout>

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><GridViewandroid:id="@+id/gv"android:layout_width="match_parent"android:layout_height="match_parent"android:numColumns="4"/>
</LinearLayout>

相关文章:

Android studio之GridView使用

目录 效果图&#xff1a;![在这里插入图片描述](https://img-blog.csdnimg.cn/86e4a48a71164dec82613d58b1fbaa1c.jpeg)代码&#xff1a; 效果图&#xff1a; 代码&#xff1a; UserGridviewAdapter package com.example.gridviewpro.Adapter;import android.content.Contex…...

Ubuntu系统环境搭建(七)——Ubuntu安装MySQL8.0

ubuntu环境搭建专栏&#x1f517;点击跳转 Ubuntu系统环境搭建&#xff08;七&#xff09;——Ubuntu安装MySQL8.0 文章目录 Ubuntu系统环境搭建&#xff08;七&#xff09;——Ubuntu安装MySQL8.01、安装1.1、下载1.2、解压安装 2、配置工作2.1、基本设置2.1.1、文件夹重命名…...

Nginx详解 三:高级配置

文章目录 1. 网页的状态页2. Nginx第三方模块2.1 echo模块 3. 变量3.1 内置变量3.1.1 示例 3.2 自定义变量3.2.1 自定义访问日志3.2.2 自定义json 格式日志 3.4 Nginx压缩功能 4. HTTPS4.1 Nginx的HTTPS工作原理4.2 启用功能模块的配置过程 5、自定义图标 1. 网页的状态页 基于…...

mysql 表备份 遇到的问题 【全网最全】

目录 省流&#xff1a; 正文&#xff1a; 1、报错 2、原因 3、解决方法 方法一&#xff1a;关闭 ENFORCE_GTID_CONSISTENCY &#xff08;不推荐&#xff09;&#xff1a; 方法二&#xff08;推荐&#xff09;&#xff1a; 4、开启关闭GTID 省流&#xff1a; 不推荐如…...

11.添加侧边栏,并导入数据

修改CommonAside的代码&#xff1a; <template><div><el-menu default-active"1-4-1" class"el-menu-vertical-demo" open"handleOpen" close"handleClose":collapse"isCollapse"><!--<el-menu-it…...

ThinkPHP 通用的API格式封装

ThinkPHP 通用的API格式封装 1.创建status.php 用于设置通用的状态码返回枚举类2.将API返回格式统一封装3.重写BaseController中的__call方法4.在控制器下面新建Error控制器&#xff0c;然后添加__call方法 1.创建status.php 用于设置通用的状态码返回枚举类 <?phpreturn[…...

自己动手写数据库:实现一个小型 SQL 解释器(下)

本节我们完成 SQL 解释器的最后一部分&#xff0c;它涉及到数据的删除和更改&#xff0c;首先我们看删除语句的解析。我们先看 delete 对应的语法&#xff1a; Delete -> DELETE FROM ID (where Predicate)?从语法规则可以看出&#xff0c;delete 语句必须以关键字 DELETE…...

2023年信息安全管理与评估任务书模块一网络平台搭建与设备安全防护

全国职业院校技能大赛 高等职业教育组 信息安全管理与评估 任务书 模块一 网络平台搭建与设备安全防护 比赛时间 本阶段比赛时长为180分钟。 赛项信息 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一阶段 网络平台搭建与设备安全防护 任务1 网络平台搭建 9:00- 12:00 …...

JS -RSA 明文加密--用户密码加密

1 配置文件引入 加密包 package.json "jsencrypt": "^3.0.0-rc.1",2 加密公钥配置 import { JSEncrypt } from jsencrypt import request from "/utils/request";const RSA_PUBLIC_KEY "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCJVol0cJ…...

clickhouse中replacingMergeTree

ReplacingMergeTree是在MergeTree上添加了去重的功能&#xff0c;但是这个功能不可控&#xff0c;合并是一个后台的操作&#xff0c;除非手动触发&#xff0c;不然无法控制&#xff0c;并且它会删除具有相同(区内)主键的重复项。 特点&#xff1a; 1&#xff0c;去重时机不定&a…...

pdf怎么转换成word?

随着数字化时代的到来&#xff0c;PDF(Portable Document Format)已成为最受欢迎的文档格式之一&#xff0c;因其在各种设备上的可视性和稳定性而备受推崇。然而在某些情况下&#xff0c;将PDF转换为Word文档可能是必要的&#xff0c;这使得编辑、修改和重新格式化文本变得更加…...

汇编攻城记-Cortex-M3指令集

类型 指令 全称 功能 内存访问 LDR Load register 加载字到寄存器 LDRB 加载字节到寄存器 LDRH 加载半字到寄存器 LDRSH 加载半字到寄存器&#xff0c;再带符号扩展到32位 LDRD 从连续的地址空间加载双字&#xff08;64位整数&#xff09;到…...

大语言模型之五 谷歌Gemini

近十年来谷歌引领着人工智能方向的发展&#xff0c;从TensorFlow到TPU再到Transformer&#xff0c;都是谷歌在引领着&#xff0c;然而&#xff0c;在大语言模型上&#xff0c;却被ChatGPT&#xff08;OpenAI&#xff09;抢了风头&#xff0c;并且知道GPT-4&#xff08;OpenAI&a…...

使用selenium实现对页面元素的抓取

一、背景介绍 工作中有个需求是需要对某个页面进行监控&#xff0c;但由于要监控页面数据是异步加载的&#xff0c;因此很难从状态码和返回结果层面进行校验。于是乎想到了通过判断页面元素是否存在且显示内容是否正确来达到此目标。调研了一下发现selenium可以实现对这种动态…...

大数据课程K12——Spark的MLlib概述

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Spark的MLlib概念; ⚪ 掌握Spark的MLlib基本数据模型; ⚪ 掌握Spark的MLlib统计量基础; 一、Spark MLlib介绍 1. 概述 MLlib是Apache Spark的可迭代机器学习库。 2. 易于使用 …...

流程制造智能工厂总体架构及建设路线规划方案PPT

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除&#xff0c;更多浏览公众号&#xff1a;智慧方案文库 数字孪生智能制造(智改数转)数字化架构设计及应用..水泥智能工厂解决方案.pptx智慧制造规划设计解决方案.pptx智能工厂落…...

网络有源号角(50W-100W)社区小区广播 工地语音播报,隧道广播,钢铁广播广播系统

网络有源号角&#xff08;50W-100W&#xff09;社区小区广播 工地语音播报&#xff0c;隧道广播&#xff0c;钢铁广播广播系统 SV-7042T 50W网络有源号角 SV-7042T是深圳锐科达电子有限公司的一款壁挂式网络有源号角&#xff0c;具有10/100M以太网接口&#xff0c;可将网络音…...

【Kali Linux高级渗透测试】深入剖析Kali Linux:高级渗透测试技术与实践

&#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐的一位博主。 &#x1f4d7;本文收录于恒川的日常汇报系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏C语言初阶、C…...

DHCP中继实验

文章目录 一、实验背景与目的二、实验拓扑三、实验需求四、实验解法1. 配置IP地址2.配置R1为DHCP服务器&#xff0c;能够跨网段为192.168.2.0/24网段自动分配IP地址3. 在PC3上Ping 192.168.1.1&#xff0c;确认可以Ping通 摘要&#xff1a; 本实验旨在通过配置DHCP中继实现跨网…...

C++进阶之多态

多态 多态的概念多态的定义及实现1.多态的构成条件2.虚函数3.虚函数的重写4.虚函数重写的两个例外5.C11 override 和 final6.重载、覆盖(重写)、隐藏(重定义)的对比 抽象类1.概念2.接口继承和实现继承 多态的原理1.虚函数表2.多态的原理3.动态绑定与静态绑定 单继承和多继承关系…...

Bazzite 42.20250417深度解析:云原生游戏操作系统的技术革命

Bazzite 42.20250417深度解析&#xff1a;云原生游戏操作系统的技术革命 【免费下载链接】bazzite Bazzite makes gaming and everyday use smoother and simpler across desktop PCs, handhelds, tablets, and home theater PCs. 项目地址: https://gitcode.com/gh_mirrors/…...

通过用量看板清晰观测各模型API调用成本与消耗

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过用量看板清晰观测各模型API调用成本与消耗 效果展示类&#xff0c;介绍开发者在接入Taotoken后&#xff0c;如何通过平台提供的…...

2026 年程序员生存指南:AI 时代,哪些技能不会被淘汰?

2026 年程序员生存指南&#xff1a;AI 时代&#xff0c;哪些技能不会被淘汰&#xff1f; 导读 当 AI 能秒级生成 CRUD 代码、自动补全单元测试、甚至一键优化慢 SQL 时&#xff0c;“程序员会不会被 AI 淘汰&#xff1f;”成了悬在每个人头顶的达摩克利斯之剑。 焦虑没有用&…...

git reset 怎么用?2026年最完整操作指南,撤销提交不再手足无措

代码提交了才发现写错了&#xff0c;或者本地 commit 堆了一堆想整理——你是直接新建一个"撤回"commit&#xff0c;还是对着搜索结果一脸茫然不敢乱动&#xff1f; 如果你还没搞清楚 git reset 的三种模式&#xff0c;随时可能把代码撤没了。学完本文&#xff0c;你…...

Akebi-GC 实战指南:掌握游戏功能修改与自动化测试技术

Akebi-GC 实战指南&#xff1a;掌握游戏功能修改与自动化测试技术 【免费下载链接】Akebi-GC (Fork) The great software for some game that exploiting anime girls (and boys). 项目地址: https://gitcode.com/gh_mirrors/ak/Akebi-GC 作为一款专注于游戏功能修改与自…...

从账单明细看Taotoken计费模式的透明与可追溯性

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 从账单明细看Taotoken计费模式的透明与可追溯性 对于将大模型API集成到产品中的团队而言&#xff0c;成本控制与核算是一个核心的工…...

如何突破文档下载壁垒:kill-doc自动化工具实战指南

如何突破文档下载壁垒&#xff1a;kill-doc自动化工具实战指南 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;该脚本就是为了解决…...

微信好友关系检测:如何发现那些悄悄离开的“单向好友“

微信好友关系检测&#xff1a;如何发现那些悄悄离开的"单向好友" 【免费下载链接】WechatRealFriends 微信好友关系一键检测&#xff0c;基于微信ipad协议&#xff0c;看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFr…...

Vibe Vibe 未来展望:Vibe Coding 如何彻底改变编程教育生态

Vibe Vibe 未来展望&#xff1a;Vibe Coding 如何彻底改变编程教育生态 【免费下载链接】vibe-vibe The First Systematic Vibe Coding Open-Source Tutorial | From Zero to Full-Stack, Empowering Everyone to Build Products with AI | Live at: www.vibevibe.cn &#xff…...

GEO优化的时间窗口期:从流量分发到语义占位的技术范式转移

过去几十年&#xff0c;互联网的信息检索逻辑建立在倒排索引与超链接分析的基础之上&#xff1a;用户输入关键词&#xff0c;搜索引擎通过爬虫抓取并返回链接列表&#xff0c;网站则通过SEO&#xff08;搜索引擎优化&#xff09;争夺SERP&#xff08;搜索结果页&#xff09;的排…...