当前位置: 首页 > 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博客

http://www.lryc.cn/news/425882.html

相关文章:

  • 通义千问 ( 一 ) 基础实例
  • docker 修改数据目录
  • r4s软路由写入iStoreOS镜像
  • [C++][opencv]基于opencv实现photoshop算法灰度化图像
  • Emacs23.x版本之重要特性及用法实例(一百五十六)
  • 机器学习 第11章-特征选择与稀疏学习
  • Grok 2携AI图片生成重生
  • 使用Nexus搭建Maven私服仓库
  • 云计算day27
  • 关于HTTP HEAD介绍
  • WPF Mvvm
  • pnpm【实用教程】2024最新版
  • C#的前沿技术有哪些?
  • Vue2移动端(H5项目)项目基于vant封装图片上传组件(支持批量上传、单个上传、回显、删除、预览、最大上传数等功能)---解决批量上传问题
  • ELK整合实战,filebeat和logstash采集SpringBoot项目日志发送至ES
  • 网络编程:OSI协议,TCP/IP协议,IP地址,UDP编程
  • QtExa001自动包装流水线的框架设计vs2019QT
  • SpringBoot拦截器的使用介绍
  • Spring Boot应用中的资源分离与高效打包实践
  • 分析 avformat_open_input 数据读取过程
  • Apache HOP (Hop Orchestration Platform) VS Data Integration (通常被称为 Kettle)
  • 如何判断一个dll/exe是32位还是64位
  • 加速网页加载,提升用户体验:HTML、JS 和 Vue 项目优化全攻略
  • LVS服务器基础环境配置
  • 【Python OpenCV】使用OpenCV实现两张图片拼接
  • springboot jar -jar centos后台运行的几种方式
  • 【GitLab】使用 Docker 安装 GitLab:配置 SSH 端口
  • 【pdf文件生成】如何将盖章的文件生成PDF文件
  • 铝壳电阻在电路中的作用和影响是什么?
  • # Python 判断入参日期是周几