相关疑难解决方法(0)

为什么RecyclerView没有onItemClickListener()?

我正在探索RecyclerView,我很惊讶地看到RecyclerView它没有onItemClickListener().因为RecyclerView延伸

android.view.ViewGroup

ListView扩展

android.widget.AbsListView

.不过,我解决我的问题写onClick在我的RecyclerView.Adapter:

public static class ViewHolder extends RecyclerView.ViewHolder implements OnClickListener {

    public TextView txtViewTitle;
    public ImageView imgViewIcon;

    public ViewHolder(View itemLayoutView) {
        super(itemLayoutView);
        txtViewTitle = (TextView) itemLayoutView.findViewById(R.id.item_title);
        imgViewIcon = (ImageView) itemLayoutView.findViewById(R.id.item_icon);
    }

    @Override
    public void onClick(View v) {

    }
}
Run Code Online (Sandbox Code Playgroud)

但我仍然想知道为什么谷歌被删除了onItemClickListener()

是否有性能问题或其他问题?

java android android-recyclerview

940
推荐指数
17
解决办法
36万
查看次数

RecyclerView与ListView

来自android开发人员(创建列表和卡片):

RecyclerView小部件是ListView的更高级和灵活的版本.

好吧,这听起来很酷,但是当我看到这个示例图片时,我对两者之间的区别感到非常困惑.

在此输入图像描述

ListView使用自定义适配器可以轻松创建上面的图片.

那么,在什么情况下应该使用RecyclerView

android listview android-recyclerview

271
推荐指数
10
解决办法
17万
查看次数

我们应该使用RecyclerView来取代ListView吗?

Android文档说:

RecyclerView小部件是ListView的更高级和灵活的版本.此窗口小部件是一个容器,用于显示可以通过维护有限数量的视图而非常有效地滚动的大型数据集.如果数据集合的元素在运行时根据用户操作或网络事件而更改,请使用RecyclerView小部件

ListView如果效率无关紧要,实际上可以做到以上所有,我们在RecyclerView用来替换时发现了很多问题ListView:

  1. 列表项选择没有onItemClickListener() - 解决方案

  2. 列表项之间没有分隔符 - 解决方案

  3. 没有内置重叠选择器,当您单击列表项 - 解决方案时没有可视反馈

  4. 列表头没有addHeaderView - 解决方案

也许更多问题......

因此,当我们使用RecyclerView替换时ListView,我们必须做更多的额外编码才能达到相同的效果ListView.

题:

  • 是否值得我们更换ListViewRecyclerView完全?
  • 如果不是那么在这种情况下,我们应该更好地利用RecyclerView替代ListView,反之亦然?

android listview android-recyclerview

225
推荐指数
4
解决办法
7万
查看次数

与ListView相比,RecyclerView的优势是什么?

我刚刚开始使用RecyclerView,我发现它缺少很多功能,如页眉,页脚,分隔符,列表选择器,现在我对使用它而不是ListView有了第二个想法.

与ListView相比,RecyclerView有哪些优缺点?它可以处理比ListView更复杂的视图吗?

到目前为止我一直在使用ListView,有几次,是时候切换到RecyclerView还是现在太快了?

android listview android-recyclerview

29
推荐指数
1
解决办法
2万
查看次数

Recyclerview 复选框保持选中状态有问题吗?

我正在使用带有复选框的自定义 recyclerview 适配器,以便用户可以选择多个选中的项目。

一开始,我在向下滚动时面临重复的复选框选择,因此我添加了一个位置数组来保持复选框选择为 true 或 false。现在重复的复选框选择问题消失了,但在向下滚动时选定的复选框被取消选择。下面给出了我的 recyclerview adpater,

class IngredientsAdapter(var context: Context?,var activity: Activity, var ingredientList:ArrayList<String>, var imageID:Int):
        RecyclerView.Adapter<IngredientsAdapter.IngredientViewHolder>() {
    private var positionArray:ArrayList<Boolean> = ArrayList(ingredientList.size)
    private val selectedList=ArrayList<String>()
    init {
        for (i in ingredientList.indices) {
            positionArray.add(false)
        }
    }

    override fun onCreateViewHolder(p0: ViewGroup, p1: Int): IngredientViewHolder {
        val layoutInflater = LayoutInflater.from(p0.context)
        return (IngredientsAdapter.IngredientViewHolder(layoutInflater.inflate(R.layout.ingredient_list_row,p0,false)))
    }

    override fun getItemCount(): Int {
       return ingredientList.size
    }
    override fun onBindViewHolder(p0: IngredientViewHolder, p1: Int) {


        p0.imageView.setImageResource(imageID)
        p0.textView.text = ingredientList[p1]
        p0.checkBox.isChecked = positionArray[p1]
        val sharedPreferences= SharedPreferenceHelper(context, SystemConstants.SHARED_PREFS_CHECKDATA) …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-recyclerview

2
推荐指数
1
解决办法
5541
查看次数

标签 统计

android ×5

android-recyclerview ×5

listview ×3

java ×1

kotlin ×1