在实战项目中,遇到这样一个需求。就是,一个包含有头部的列表页面。由于自己没有接触过这方面的东西,苦思冥想了好几天。并且根据服务器返回的数据。完成此需求。下面先说说需求吧:
1.包含有头部介绍性信息。
2.下面是多行两列的图片。
我采用的是recycleview嵌套recycleview的方式完成此功能实现。下面说一下思路:
因为从服务器返回数据是:
{
setion:头部名字,
{ 图片数组(第一个图片对象,第二个图片对象什么的) }
}
所以在外层的xml布局就是一个大的recycleview。然后设置填充在recycleview中的item布局。这个item有点特殊。
头部标题(TextView)
多行两列的图片(RecycleVeiw)
效果图看下面:
完成了第一个recycleview的item1布局,接下里的工作就是完成嵌套在item1中的recycleview的item2布局了。其实很简单,只需要一个imageview就行了,没什么特别的布局。之后就是关键的步骤,是如何将数据通过adapter绑定到列表的呢?
在adapter1中的onBindViewHolder方法中加入,数据适配器2(ImageAdapter),每一个都要进行初始化的(我也不知道用不用,反正我是用了),因为你不初始化,分区怎么做呢?
每一个头部,图片是一个整体。每次将头部(标题名称)布局出来也会把下面的recycleview布局出来。那么每个recycleview都要有个adapter(貌似可以直接在外面实力化一个imageAdapter啊。。。尴尬。暂且这么写吧,回头我再试试)
第二个数据适配器,就是ImageAdapter。没什么特殊写法,就是这样的。
最终的展示效果:如下图所示。
因为没有到过帝都,以及一些互联网发展迅速的城市,做这些也不知道是不是潮流。在此记录一下,希望能帮到朋友们。如果错误地方,请及时指出。