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

2024-08-16升级记录:使用Android RecyclerView控件显示列表型信息

        在页面上使用RecyclerView实现一个列表型信息展示:

 步骤如下:

一、在页面布局中添加RecyclerView控件

            <TextViewandroid:id="@+id/txt_gnss_info"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="卫星信息"android:textColor="#0a0a0a" /><android.support.v7.widget.RecyclerViewandroid:id="@+id/rv_gnss_country"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="20dp"/>

二、添加单行显示的item布局文件

   layout_gnss_counrty_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:orientation="horizontal"android:layout_height="wrap_content"><ImageViewandroid:id="@+id/iv_item_flag"android:layout_width="24dp"android:layout_height="24dp"android:layout_gravity="center_vertical"android:layout_marginLeft="16dp"android:src="@drawable/flag_beidou_3"android:layout_centerVertical="true"/><TextViewandroid:id="@+id/tv_item_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="GNSS国家名称"android:layout_centerVertical="true"android:textColor="@color/layer_name"android:layout_marginLeft="8dp"android:layout_gravity="center_vertical"/></LinearLayout>

三、逻辑实现代码

实体类:

public class GnssCountryInfo {public int FlagId;public String TextContext;public GnssCountryInfo(int _id,String _str){FlagId = _id;TextContext = _str;}
}

Adapter类和ViewHolder类:

public class GnssCountryAdapter extends RecyclerView.Adapter<GnssCountryAdapter.GnssCountryViewHoder> {private Context context;private List<GnssCountryInfo> dataList;public GnssCountryAdapter(Context _context, List<GnssCountryInfo> _data){this.dataList = _data;this.context = _context;}@NonNull@Overridepublic GnssCountryViewHoder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {View view = View.inflate(context, R.layout.layout_gnss_counrty_item, null);GnssCountryViewHoder gnssCountryViewHoder = new GnssCountryViewHoder(view);return gnssCountryViewHoder;}@Overridepublic void onBindViewHolder(@NonNull GnssCountryViewHoder holder, int position) {GnssCountryInfo itemData = dataList.get(position);holder.mCountryFlag.setImageResource(itemData.FlagId);holder.mTitleContent.setText(itemData.TextContext);}@Overridepublic int getItemCount() {return dataList.size();}class GnssCountryViewHoder extends RecyclerView.ViewHolder {ImageView mCountryFlag;TextView mTitleContent;public GnssCountryViewHoder(@NonNull View itemView) {super(itemView);mCountryFlag = itemView.findViewById(R.id.iv_item_flag);mTitleContent = itemView.findViewById(R.id.tv_item_name);}}}

 调用:

        GnssCountryAdapter adapter = new GnssCountryAdapter(this,dataList);mRecyclerView.setAdapter(adapter);LinearLayoutManager layoutManager = new LinearLayoutManager(this);mRecyclerView.setLayoutManager(layoutManager);

注意:

一定要设置:

LinearLayoutManager layoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(layoutManager);

否则会出错。

参考链接:

Android RecyclerView最全使用详解-CSDN博客

 

RecyclerView相关学习资料:

Android开发,使用RecyclerView实现商品列表_安卓recyclerview设备列表-CSDN博客

 Android RecyclerView控件_recycleview版本-CSDN博客

RecyclerView之下拉刷新、下拉加载的实现_androidx.recyclerview.widget.recyclerview下拉刷新 底部加载-CSDN博客

相关文章:

2024-08-16升级记录:使用Android RecyclerView控件显示列表型信息

在页面上使用RecyclerView实现一个列表型信息展示&#xff1a; 步骤如下&#xff1a; 一、在页面布局中添加RecyclerView控件 <TextViewandroid:id"id/txt_gnss_info"android:layout_width"match_parent"android:layout_height"wrap_content"…...

通义千问 ( 一 ) 基础实例

1.相关概念 1.1.模型与平台 1.1.1.通义千问 通义千问 : 是阿里云研发的大语言模型&#xff1b;用于理解和分析用户输入的自然语言&#xff0c;在不同领域和任务为用户提供服务和帮助。 具体应用场景如下&#xff1a; 文字创作&#xff1a;撰写故事、公文、邮件、剧本和诗歌…...

docker 修改数据目录

1.停止 Docker 服务 sudo systemctl stop docker sudo systemctl stop docker.socket2.复制数据目录 sudo cp -rp /var/lib/docker /data/ 或 # sudo rsync -aP /var/lib/docker/ /data/docker/3.修改 Docker 配置 编辑 Docker 的配置文件&#xff0c;设置新的数据目录&#…...

r4s软路由写入iStoreOS镜像

需要用到的工具&#xff1a; 1、r4s软路由 2、32G及以上的TF卡 3、TF卡读卡器 4、镜像写入软件&#xff08;推荐Etcher&#xff0c;下载地址&#xff1a;https://github.com/balena-io/etcher/releases/download/v1.19.21/balenaEtcher-1.19.21.Setup.exe&#xff09; 5、…...

[C++][opencv]基于opencv实现photoshop算法灰度化图像

测试环境】 vs2019 opencv4.8.0 【效果演示】 【核心实现代码】 BlackWhite.hpp #ifndef OPENCV2_PS_BLACKWHITE_HPP_ #define OPENCV2_PS_BLACKWHITE_HPP_#include "opencv2/core.hpp"namespace cv {class BlackWhite { public:float red; //红色的灰度系…...

Emacs23.x版本之重要特性及用法实例(一百五十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列…...

机器学习 第11章-特征选择与稀疏学习

机器学习 第11章-特征选择与稀疏学习 11.1 子集搜索与评价 我们将属性称为“特征”(feature)&#xff0c;对当前学习任务有用的属性称为“相关特征”(relevant feature)、没什么用的属性称为“无关特征”(irrelevant feature)。从给定的特征集合中选择出相关特征子集的过程&a…...

Grok 2携AI图片生成重生

埃隆马斯克&#xff08;Elon Musk&#xff09;的人工智能初创公司xAI推出其最新的AI助手Grok 2的测试版&#xff0c;添加了类似于OpenAI的DALL-E和Google的Gemini的图像生成工具&#xff0c;但对可以生成的图像类型的限制显然较少。<这是其中的一个“亮点”&#xff0c;一些…...

使用Nexus搭建Maven私服仓库

一、私服仓库简介 在Java的世界中&#xff0c;我们通常使用Maven的依赖体系来管理构件&#xff08;artifact&#xff0c;又称为二方库或三方库&#xff09;的依赖&#xff0c;Maven仓库用于存储这些构件。一般的远程仓库&#xff08;比如Maven Central&#xff09;只提供下载功…...

云计算day27

任务背景 公司的服务器越来越多, 维护⼀些简单的事情都会变得很繁琐。⽤ shell脚本来管理少量服务器效率还⾏, 服务器多了之后, shell脚本⽆ 法实现⾼效率运维。这种情况下&#xff0c;我们需要引⼊⾃动化运维⼯具, 对 多台服务器实现⾼效运维。 任务要求任务要求 通过管…...

关于HTTP HEAD介绍

一、HTTP HEAD介绍 HTTP HEAD 是一种 HTTP 请求方法&#xff0c;它用于请求服务器返回指定资源的元信息&#xff08;metadata&#xff09;&#xff0c;而不包括响应体的内容。这种请求方式常用于客户端预先评估资源的大小、最后修改日期或其他头信息&#xff0c;而无需实际下载…...

WPF Mvvm

了解MVVM 什么是MVVM&#xff1a;一种设计模式 设计模式&#xff08;Design pattern&#xff09;代表了最佳的实践&#xff0c;通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人…...

pnpm【实用教程】2024最新版

pnpm 简介 pnpm 全称 performant npm&#xff0c;即高性能的 npm&#xff0c;由 npm/yarn 衍生而来&#xff0c;解决了 npm/yarn 内部潜在的 bug&#xff0c;极大的优化了性能&#xff0c;扩展了使用场景&#xff0c;被誉为 最先进的包管理工具 安装 pnpm npm i -g pnpm使用 pn…...

C#的前沿技术有哪些?

C#作为.NET平台的核心语言&#xff0c;其前沿技术主要围绕.NET生态系统的扩展和更新展开。了解C#的前沿技术对于开发者来说至关重要&#xff0c;因为它们代表了该语言和平台的最新发展方向和趋势。目前&#xff0c;C#的前沿技术主要集中在以下几个方面&#xff1a; 1. NET 6: …...

Vue2移动端(H5项目)项目基于vant封装图片上传组件(支持批量上传、单个上传、回显、删除、预览、最大上传数等功能)---解决批量上传问题

一、最终效果 二、参数配置 1、代码示例&#xff1a; <t-uploadfileList"fileList":showFileList"showFileList"showFile"showFile":showFileUrl"showFileUrl"/>2、配置参数&#xff08;TUpload Attributes&#xff09;继承va…...

ELK整合实战,filebeat和logstash采集SpringBoot项目日志发送至ES

文章目录 ELK整合实战使用FileBeats将日志发送到Logstash配置Logstash接收FileBeat收集的数据并打印Logstash输出数据到Elasticsearch利用Logstash过滤器解析日志Grok插件Grok语法用法 输出到Elasticsearch指定索引 前文&#xff1a;FileBeats详解 前文&#xff1a;logstash详解…...

网络编程:OSI协议,TCP/IP协议,IP地址,UDP编程

目录 国际网络通信协议标准&#xff1a; 1.OSI协议&#xff1a; 2.TCP/IP协议模型&#xff1a; 应用层 &#xff1a; 传输层&#xff1a; 网络层&#xff1a; IPV4协议 IP地址 IP地址的划分&#xff1a; 公有地址 私有地址 MA…...

QtExa001自动包装流水线的框架设计vs2019QT

QtExa001自动包装流水线的框架设计 工程代码&#xff1a; https://download.csdn.net/download/txwtech/89636815https://download.csdn.net/download/txwtech/89636815 主界面&#xff1a; 设置&#xff1a;进行参数配置&#xff0c;保存ini文件 调试&#xff1a;tcp/ip&…...

SpringBoot拦截器的使用介绍

SpringBoot拦截器的使用介绍 本篇文章主要讲的是 SpringBoot 拦截器的使用介绍。 1、定义拦截器 拦截器&#xff1a;所谓拦截器&#xff0c;就是能够在进行某个操作之前拦截请求&#xff0c;如果请求符合条件就允许在往下执行。 定义拦截器的几种方式。 1.1 实现HandleInt…...

Spring Boot应用中的资源分离与高效打包实践

在电商网站项目中&#xff0c;前端资源通常包括HTML、CSS、JavaScript、图片、字体等静态文件&#xff0c;以及Thymeleaf或Freemarker等模板引擎渲染的页面。将这些资源从Spring Boot主应用中分离出来&#xff0c;不仅有利于前后端团队的并行开发&#xff0c;还能提高应用的加载…...

Labelme标注的坑我帮你踩完了:Win/Mac/Linux三大系统安装避坑指南与界面汉化

Labelme三大系统安装避坑全指南&#xff1a;从环境配置到界面汉化实战 第一次打开Labelme时&#xff0c;那个满屏英文的界面和莫名其妙的报错提示&#xff0c;是不是让你瞬间想起了被毕业设计支配的恐惧&#xff1f;作为计算机视觉领域最受欢迎的标注工具之一&#xff0c;Label…...

BongoCat:重新定义桌面体验的互动工具

BongoCat&#xff1a;重新定义桌面体验的互动工具 【免费下载链接】BongoCat 让呆萌可爱的 Bongo Cat 陪伴你的键盘敲击与鼠标操作&#xff0c;每一次输入都充满趣味与活力&#xff01; 项目地址: https://gitcode.com/gh_mirrors/bong/BongoCat 你是否曾觉得日复一日的…...

中兴B863AV3.2-M/B863AV3.1-M2_S905L3A_通刷_优化开机速度_指示灯绿色

中兴B863AV3.2-M&#xff0f;B863AV3.1-M2_S905L3A_通刷_优化开机速度_指示灯绿色线刷方法&#xff1a;1、准备好一根双公头USB线刷刷机线&#xff0c;长度30-50CM长度最佳&#xff0c;同时准备一台电脑&#xff1b;2、电脑上安装好刷机工具Amlogic USB Burning Tool 软件 →打…...

市场调查大赛选题避坑指南:从获奖作品拆解5大高频雷区(附12届真题解析)

市场调查大赛选题避坑指南&#xff1a;从获奖作品拆解5大高频雷区&#xff08;附12届真题解析&#xff09; 每年市场调查大赛的参赛队伍中&#xff0c;有近40%的团队在选题阶段就埋下了失败的种子。这些团队往往花费数周时间完成的调查报告&#xff0c;在初筛阶段就被评委贴上&…...

Ultimate Vocal Remover GUI:免费AI音频分离神器完整使用指南

Ultimate Vocal Remover GUI&#xff1a;免费AI音频分离神器完整使用指南 【免费下载链接】ultimatevocalremovergui 使用深度神经网络的声音消除器的图形用户界面。 项目地址: https://gitcode.com/GitHub_Trending/ul/ultimatevocalremovergui 想要从歌曲中提取纯净人…...

量化交易框架VectorBT:重新定义金融策略开发的高性能方法论

量化交易框架VectorBT&#xff1a;重新定义金融策略开发的高性能方法论 【免费下载链接】vectorbt Find your trading edge, using the fastest engine for backtesting, algorithmic trading, and research. 项目地址: https://gitcode.com/gh_mirrors/ve/vectorbt Ve…...

Petalinux实战:从零构建嵌入式Linux系统的boot与kernel镜像

1. Petalinux环境配置与工程创建 第一次接触Petalinux时&#xff0c;我被它强大的功能震撼到了。这个由Xilinx推出的嵌入式Linux开发工具链&#xff0c;能够帮我们快速构建从bootloader到kernel的完整系统镜像。不过在实际操作中&#xff0c;我发现环境配置这一步特别关键&…...

手把手教你用Python写一个高效图片爬虫(附代码+反爬策略)

大家好&#xff01;今天分享一个我近期开发的Python图片爬虫程序&#xff0c;适合新手入门和进阶学习。项目包含多线程下载、反反爬机制、数据存储等核心功能&#xff0c;代码已开源并附详细注释。 一、项目背景 在数据采集场景中&#xff0c;图片下载是常见需求。但目标网站…...

STM32CubeIDE实战:HAL库串口中断接收的5个常见坑点及解决方案

STM32CubeIDE实战&#xff1a;HAL库串口中断接收的5个常见坑点及解决方案 在工业传感器数据采集、设备间通信等场景中&#xff0c;稳定可靠的串口通信往往是嵌入式开发的关键环节。许多开发者在使用STM32CubeIDE配合HAL库实现串口中断接收时&#xff0c;虽然能够快速搭建基础功…...

深入解析MCU Systick:从基础配置到精准延时与系统时间获取实战

1. Systick定时器基础解析 Systick是Cortex-M内核内置的24位递减计数器&#xff0c;堪称MCU的"心跳发生器"。我第一次在STM32项目中使用它时&#xff0c;就像发现了一个隐藏的瑞士军刀——简单却功能强大。这个看似简单的定时器&#xff0c;实际上承担着三大核心功能…...