package com.study.food.adaptor; import android.view.View; import androidx.annotation.NonNull; import com.chad.library.adapter.base.viewholder.BaseViewHolder; public class XBaseViewHolder extends BaseViewHolder { public XBaseViewHolder(@NonNull View view) { super(view); } public int getItemPosition() { return getItemPosition(); } }
时间: 2023-12-03 09:47:31 浏览: 15
这是一个基于BaseViewHolder的自定义ViewHolder,其中getItemPosition方法存在递归调用的问题,应该返回当前ViewHolder所在的位置,可以将其改为:
```java
public int getItemPosition() {
return getAdapterPosition();
}
```
这样就可以返回当前ViewHolder所在的位置了。
相关问题
package com.study.food.adaptor; import android.view.View; import androidx.annotation.NonNull; import com.chad.library.adapter.base.viewholder.BaseViewHolder; public class XBaseViewHolder extends BaseViewHolder { public XBaseViewHolder(@NonNull View view) { super(view); } public int getItemPosition() { return 0; } }
这是一个自定义的 RecyclerView ViewHolder 类 XBaseViewHolder,它继承自 BaseViewHolder。BaseViewHolder 是开源库 BaseRecyclerViewAdapterHelper 中提供的 RecyclerView ViewHolder 基类。在 XBaseViewHolder 中,我们添加了一个名为 getItemPosition 的方法,该方法返回了整数 0,但实际上并没有什么实际作用。如果需要扩展 ViewHolder 的功能,可以在 XBaseViewHolder 中添加其他方法或属性。
package com.study.food.adaptor import android.view.View import com.chad.library.adapter.base.viewholder.BaseViewHolder class XBaseViewHolder(view: View) : BaseViewHolder(view) { fun getItemPosition(): Int { return layoutPosition } fun getItemViewsType(): Int { return itemViewType } }
这是一个 Kotlin 语言编写的 RecyclerView ViewHolder 类。通过继承 BaseViewHolder 类,可以方便地进行 RecyclerView 的操作。其中包含了两个自定义方法:
- `getItemPosition()`:获取当前 ViewHolder 所在的位置。
- `getItemViewsType()`:获取当前 ViewHolder 所在 item 的类型。
这些方法可以在 RecyclerView 的 Adapter 中使用,方便地获取当前 item 的位置和类型信息。
阅读全文