为什么RecyclerViewAdapter DummyContent元素和方法是静态的?

时间:2018-10-28 19:32:02

标签: android android-recyclerview

当您使用Android Studio创建新的Fragment(List)时,它会创建一个RecyclerViewAdapter,它是从DummyItem元素列表中初始化的,该元素在DummyContent类中实例化。

DummyContent类具有DummyItems的静态最终列表;随后填充列表的方法也是静态的。

出于某种原因,是否有必要或建议将该列表设置为静态列表而不是动态列表?由于数据源是静态的,因此似乎没有机会将RecyclerView用于其他项目。每次我想要显示列表时,是否都需要创建一个新的Fragment,ViewAdapter + ViewHolder和Content + ContentItem?

public class DummyContent
{
    public static final List<DummyItem> ITEMS = new ArrayList<DummyItem>();
    public static class DummyItem
    {
        public final String id;

RecyclerViewAdapter

public class MyItemRecyclerViewAdapter extends 
RecyclerView.Adapter<MyItemRecyclerViewAdapter.ViewHolder>
{
    private final List<DummyItem> mValues;

1 个答案:

答案 0 :(得分:1)

  

当您使用Android Studio创建新的Fragment(List)时,它会创建一个RecyclerViewAdapter,它是从DummyItem元素列表中初始化的,该元素在DummyContent类中实例化。

这是示例代码,旨在说明如何使用RecyclerView

就我个人而言,我几乎从不理会那些向导,因为我花了很多时间来摆脱一些东西,就像我从头开始创建自己想要的东西一样。

  

出于某种原因是否有必要或建议将该列表设置为静态列表而不是动态列表?

RecyclerView字段中不必引用static中使用的数据。

  

每次我要显示某些内容列表时,是否都需要创建一个新的Fragment,ViewAdapter + ViewHolder和Content + ContentItem吗?

您最有可能需要至少其中一些,例如:

  • 一个Java类,它代表您不同模型对象的不同属性(例如,书商应用程序不会使用Book类来代表作者,因为Book的属性(例如页数和发布者)不适用于作者)

  • 知道如何获取模型对象(例如ViewHolder)并将其内容倒入列表中单个行的视图的Book

  • 一个Adapter可以访问您的模型对象集合(例如List<Book>)以显示在列表中,并且知道渲染所需的ViewHolder该列表

是否需要一个新片段完全取决于应用程序的导航流程。