2021-04-11

前言

在Android开发中,我们经常与ListView、GridView打交道,它们为数据提供了列表和视图的展示方式,方便用户的操作。然而,随着Android的不断发展,单一的listview逐渐满足不了需求多变的项目了,因此,谷歌在support v7中,加入了新的控件——RecyclerView,该控件整合了ListView、GridView的特点,而且最大的优点是可以很方便实现瀑布流效果,因此RecyclerView受到越来越多的开发者重视。所以,学习RecyclerView的使用也是很有必要的。

问题专栏:

一、今天在写RecycleView时一个穿参数定义的int[] num类型,直接将用textview num.setText(book_data_list.getNum());出现了以下的报错:android.content.res.Resources$NotFoundException: String resource ID #0x1 at android.content.res.HwResources.getText(HwResources.java:1553)

解决办法:是由于TextView的类型是String的而我定义的num是int类型的要进行转化一下:
num.setText(book_data_list.getNum()+"")

二、RecycleView中的网格布局GridLayoutManager出现了上下的距离过大的问题,上一个效果图看:在这里插入图片描述
在百度之后我发现是自己的布局里面的LinearLayout中的layout_height:match_parent;将layout_height:wrap_parent就可以了,一个小细节真的是毁了我太多的温柔!还是把修改后的xml代码贴出来:(选中的那一行代码)
在这里插入图片描述
修改后的效果图:
在这里插入图片描述

进入正题,今天是RecyclerView的网格布局:
一、先看recommond.xml代码:
<Relative中的android:background="@drawable/border_radiu"是drawable文件下的一个样式,将他的代码直接贴过来就是一个圆角样式:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="15dp"></corners>
    <solid android:color="@color/darkgray"></solid>
</shape>

在这里插入图片描述

二、Recommond.java:
在里插入图片描述
三、RecycleView的布局代码:
在这里插入图片描述
四、RecycleView的adapter代码:

在这里插入图片描述

datasource是存放我们数据的集合,<Book_Data>是传入的数据类型为Book_Data,是获取数据的get set方法。接下里贴上Book_Data的代码:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值