Android Studio初学者实例:RecyclerView学习--模仿今日头条--续

新学期开始了,这篇文章收到了很多人的评论有很多地方不懂,所以写下了以下的文章--续篇

首先使用RecyclerView 也好还是使用ListView ,更或是GridView你都要先构思需要什么

这些东西无一例外通常都是用在列表显示下,那么需要一些:

  • 数据源:显示的数据,可以是从api拿到的json数据解析出来的、数据库访问获取的数组、List列表等等
  • 控件本身:使用这些,需要在XML代码中使用例如:
XML 复制代码
    <androidx.recyclerview.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/rv"/>
  • 适配器:反正这是一个连接数据和视图的玩意,在编码过程中通常是XXXAdapter
  • 在RecyclerView另外的还需要一个布局管理器,他是用来管理RecyclerView是竖向布局还是横向、竖向显示几列、还是瀑布流,例如:
java 复制代码
 rv.setLayoutManager(new LinearLayoutManager(this));
//设置布局管理器

总结一下几个评论问题:

  • style是xml文件吗?value和value是一样的嘛

是的,差不多,style.xml是存放在value文件夹中的,一般用于放样式,更多的用存放经常用的样式,例如一个XML中有几十行

XML 复制代码
android:layout_width="match_parent"
android:layout_height="match_parent"

那么我就可以存在style文件中,然后在XML文件中引用

  • list_item_two的style/ivImg是怎么设计的(其实跟问题1是一个问题)
  • 自定义的适配器不理解

前面解释到了适配器这个玩意如何理解,以下是一段介绍:

在 Android 开发中,适配器(Adapter)是一个关键的组件,用于将数据源绑定到界面上的视图组件,例如 ListView、RecyclerView、Spinner 等。适配器的主要作用是根据数据源的内容,创建每个列表项或视图项,并将其显示在相应的容器中。

  • one里的tvInfo不理解(其实跟问题1是一个问题)
  • <include layout="@layout/title_bar"/>是什么

这就是一个可以通俗理解为:在一个XML布局中引用、引入另一个XML的方法,例如用的APP你会发现都有头部的显示返回、显示标题、显示抽屉功能的标题栏,那么每个页面都写一次标题栏是不是太重复了,那么我们就可以把标题单独写一个XML,例如:title_bar,在需要用的界面引入即可。

B站解释大家一些问题的视频,如有不清楚可以提出:https://www.bilibili.com/video/BV1tH4y1973d/

这几天或者后续会出完整的RecyclerView使用的一个视频

相关推荐
互联网叫兽1 小时前
redis深入学习二
数据库·redis·学习
FlightYe1 小时前
音视频修炼之基础理论(五):AAC格式与解析
android·linux·c++·音视频·aac
法欧特斯卡雷特2 小时前
Kotlin 2.4.20 现已发布,新特性多不多?
android·开源·全栈
摇滚侠2 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 使用 JdbcTemplate 阅读笔记 31
android·spring boot·笔记
是隼人2 小时前
buuctf-pwn mrctf2020_easy_equation(64位fmt)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
Zeaon2 小时前
别再手写筛选栏了:一个可组合的 Flutter 选择组件(5 入口 × 7 委托)
android·flutter
Michaelwubo3 小时前
mysql8 主从 HA切换
android·adb
吴声子夜歌3 小时前
Linux命令——查找文件
linux·运维·学习
我命由我123453 小时前
Windows 操作系统 - 启用 D 盘虚拟内存
java·运维·服务器·windows·学习·java-ee·运维开发
平头哥技术团队3 小时前
Day 13 | 调 line-height 和 margin:三处间距让名片页脱离模板感
开发语言·前端·javascript·学习·html5