当前位置: 首页 > 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>
http://www.lryc.cn/news/149158.html

相关文章:

  • Ubuntu系统环境搭建(七)——Ubuntu安装MySQL8.0
  • Nginx详解 三:高级配置
  • mysql 表备份 遇到的问题 【全网最全】
  • 11.添加侧边栏,并导入数据
  • ThinkPHP 通用的API格式封装
  • 自己动手写数据库:实现一个小型 SQL 解释器(下)
  • 2023年信息安全管理与评估任务书模块一网络平台搭建与设备安全防护
  • JS -RSA 明文加密--用户密码加密
  • clickhouse中replacingMergeTree
  • pdf怎么转换成word?
  • 汇编攻城记-Cortex-M3指令集
  • 大语言模型之五 谷歌Gemini
  • 使用selenium实现对页面元素的抓取
  • 大数据课程K12——Spark的MLlib概述
  • 流程制造智能工厂总体架构及建设路线规划方案PPT
  • 网络有源号角(50W-100W)社区小区广播 工地语音播报,隧道广播,钢铁广播广播系统
  • 【Kali Linux高级渗透测试】深入剖析Kali Linux:高级渗透测试技术与实践
  • DHCP中继实验
  • C++进阶之多态
  • QtCreator中三种不同编译版本 debug、release、profile 的区别
  • golang中map赋值
  • myspl使用指南
  • 【深度学习_TensorFlow】过拟合
  • uniapp授权小程序隐私弹窗效果demo(整理)
  • c++学习之string实现
  • kubevirt虚机创建svc通过NodePort的方式暴露端口
  • Elasticsearch终端命令行用法大全
  • nacos版本升级注意事项
  • JavaScript作用域与作用域链
  • MQTT异常掉线原因