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使用的一个视频

相关推荐
Kapaseker11 分钟前
扶我起来,Compose Styles API 进阶
android·kotlin
小巧的砖头20 分钟前
使用SVN+CruiseControl+ANT实现持续集成之一
学习·算法
亘元有量-流量变现35 分钟前
内外联动精细化运营:解锁安卓APP推广降本增效新路径
android·用户运营·aso优化·亘元有量·方糖试玩
nVisual42 分钟前
nVisual:AI驱动的智能排障,平均响应时间缩短40%
android·人工智能·缓存
阿pin1 小时前
Android随笔-神经系统Handler
android·java·开发语言·handler
俭朴的奇异果1 小时前
MongoDB实战开发 【零基础学习,附完整Asp.net示例】
学习·mongodb·asp.net
承渊政道1 小时前
【Python学习】(了解Python背景知识、搭建 Python 环境以及安装PyCharm)
python·学习·pycharm·搭建python环境
东京老树根1 小时前
SAP学习笔记 - MM模块06 - 库存物料,消耗物料,物料类型NLAG,如何确定会计科目,无物料信息记录(通过物料组),排序字符串,消耗物料的收货
学习
茯苓gao14 小时前
嵌入式开发笔记:CANopen相关移位运算与通信协议术语详解
网络·嵌入式硬件·学习·信息与通信
机智的张尼玛15 小时前
我基于 Kotlin Multiplatform 实现了一套跨平台的弱网离线同步引擎
android·开源·kotlin