欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一起Talk Android吧(第七十八回:Android中UI控件之RecyclerView扩展)

程序员文章站 2022-05-14 19:30:46
...

各位看官们,大家好,上一回中咱们说的是Android中UI控件之RecyclerView变化的例子,这一回咱们说的例子是UI控件之RecyclerView扩展。闲话休提,言归正转。让我们一起Talk Android吧!

看官们,本章回中我们介绍的是RecyclerView的扩展,回想一下ListView的扩展,它主要有三个方面:布局,数据类型和适配器。而RecyclerView的扩展也和它类似,因为RecyclerView提供了适配器,而且我们只能按照该适配器的规范来定义适配器,所以我们对RecyclerView的扩展只有两个方面:布局和数据类型

  • 扩展数据类型:

我们定义了一个类并且使用它当作数据的类型,代码如下:

public class CustomData {
    private int mImageViewId;
    private String mStringTextView;

    public CustomData(int imageViewId, String stringTextView) {
        mImageViewId = imageViewId;
        mStringTextView = stringTextView;
    }

    public int getImageViewId() {
        return mImageViewId;
    }

    public void setImageViewId(int imageViewId) {
        mImageViewId = imageViewId;
    }

    public String getStringTextView() {
        return mStringTextView;
    }

    public void setStringTextView(String stringTextView) {
        mStringTextView = stringTextView;
    }
}

该类有两个成员变量,一个用来存放图标的资源ID,另外一个用来存放字符串的内容。它们的初始化操作由构造函数来完成。其它成员函数都是setter和getter.数据类型扩展后,适配器中的代码也要做相应的修改,变化的主要有适配器和ViewHolder的构造器,适配器中重写的三个方法也要做点小修改。主Activiy中关于数据的容器也随着做了修改,并且更新了容器中数据初始化的方式。完整的代码上传到了附件中,点击这里可以去下载。因此这些变化的代码就不再列出来了。

  • 扩展布局:

原来的布局中只有一个文本组件,扩展后变成了一个图片组件(ImageView)和一个文本组件(TextView),具体的代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content">
   <ImageView
       android:id="@+id/id_recy_view_item_img"
       android:layout_width="50dp"
       android:layout_height="wrap_content"/>
   <TextView
        android:id="@+id/id_recy_view_item_text"
        android:layout_width="match_parent"
        android:layout_height="50dp"/>
</LinearLayout>

最后,我们对RecyclerView的扩展做一些总结:
扩展的数据类型和布局需要匹配,需要显示哪些数据,就要把显示这些数据的组件放到布局中。数据类型包含哪些成员是按照项目需求来决定的。此外,存放数据的容器,可以是数组,也可以是列表,到于使用哪种容器,自行决定。

下面是程序的运行结果,请大家参考:

一起Talk Android吧(第七十八回:Android中UI控件之RecyclerView扩展)

该程序中使用的Icon来源于icon8网站,版权规该网站所有,我只是借用一下^_^.把这些Icon下载后放到工程的drawable目录下,然后就可以通过资源ID来引用它们。

各位看官,关于Android中UI控件之RecyclerView扩展的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!


相关标签: RecyclerView