【问题标题】:when extend RecyclerView.Adapter and how it work? [duplicate]何时扩展 RecyclerView.Adapter 以及它是如何工作的? [复制]
【发布时间】:2018-02-09 05:33:56
【问题描述】:

何时扩展 RecyclerView.Adapter 以及它是如何工作的?

我无法理解一段代码。有人可以解释一下这种方法何时扩展以及它的用途是什么?

听到是我的代码:

public class CompaniesAdapter extends RecyclerView.Adapter<CompaniesAdapter.MyViewHolder>{
.....
} 

在我的课堂上:

 public class MyViewHolder extends RecyclerView.ViewHolder {
        private TextView name, date;

        public MyViewHolder(View view) {
            super(view);
            name = (TextView) view.findViewById(R.id.txtName);
            date = (TextView) view.findViewById(R.id.txtDate);
        }

【问题讨论】:

  • 你能解释更多细节吗?我看起来你正在扩展一个内部类。

标签: java android


【解决方案1】:

适配器是介于我们希望在应用 UI 中显示的数据模型和呈现此信息的 UI 组件之间的组件。换句话说,适配器引导信息在 UI 中的显示方式。所以如果我们想在列表中显示我们的数据,我们需要一个RecyclerView 的适配器。这个适配器必须扩展一个名为 RecyclerView.Adapter 的类,传递我们实现 ViewHolder 模式的类:

public class MyAdapter extends RecyclerView.Adapter<MyHolder> { ..... }

【讨论】:

  • 感谢您增加我的知识@MashukKhan
  • 如果您需要更多信息,请参考this
【解决方案2】:

Recyclerview 总是需要用 ViewHolder 扩展它自己的 Adapter。所以 RecyclerView.Adapter 像其他任何东西一样工作,但 ViewHolder 包含项目布局中的所有视图。

点击以下链接,了解 ViewHolders 在 RecyclerView.Adapter 中的工作原理:

https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter.html

【讨论】:

    【解决方案3】:

    RecyclerView.Adapter 提供对数据集的访问,它们负责为项目的各个行创建正确的布局。由于 RecyclerView.Adapter 是抽象的,你必须实现这三个方法:

    1. public VH onCreateViewHolder(ViewGroup parent, int viewType)
    2. public void onBindViewHolder(VH holder, int position)
    3. 公共 int getItemount() 上面方法签名中的 VH 是泛型类型参数。

    更多详情请点击此链接https://www.androidhive.info/2016/01/android-working-with-recycler-view/

    【讨论】:

    • 谢谢 :) @Chhatrasal Singh
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    • 2019-09-28
    相关资源
    最近更新 更多