[在此处输入图像描述][1]在每个社交媒体中我都看到 TextView 被称为“ View ”。
那么“ View ”实际上意味着什么东西以及何时计算+1(添加)?
情况 1:每当用户滑动 recyclerview 且任何 itemview 出现在屏幕区域内时,itemview“ View ”都会计数 +1。
情况2:每当用户点击itemview时,itemview的“浏览次数”就会增加1。(我知道这种情况如何实现)
我认为可能是这两者之一。如果情况 1 最好,请告诉我们如何在 onBindViewHolder 或任何其他情况下开始,请建议
/image/VPRU5.png 我添加了一个来自 fb 的例子。 总浏览” 。 这篇文章的点击总数是多少?
最佳答案
来自 Facebook 的观看次数与 View
完全不同。 Android 中使用的。
在 Android 中,View
是 Android 中的一个基本元素,然后由其他类扩展以向其中添加自己的一些属性 View
.
例如,
class TextView extends View{}
这是面向对象编程中的继承的基本问题。
继承意味着,考虑一个例子,您创建一个名为“Car”的基类,在其中编写基本汽车的代码,例如“汽车有四个轮胎”,以及汽车具有的所有基本属性。然后,您创建另一个类,称为 Bus,并使其扩展此 Car 类,以便总线将具有其父类“Car”的属性,并且能够添加其自身的一些属性,例如“Bus is long” 。所以在这里,类“Car”就像“View”,而类“Bus”就像TextView。
例如,TextView
扩展了 View
的功能类能够在其中显示一些文本/字符串。 TextView
称为 View
,因为它继承了基本View
的属性类,并添加了一些自己的内容。
如果您询问如何在 Facebook 等帖子功能上实现“总浏览量”,则必须添加每次 onBindViewHolder
都会执行的代码。被称为 RecyclerView
.
所以,在 onBindViewHolder
,您将调用该函数来获取当前的观看次数,然后增加该值并将其添加到该帖子的数据库中。
您给出了两个案例,
编辑:
正如您在评论中所问的,您想要:
每当用户看到该帖子时,就会增加数据库中的 View 。
为此,您需要调用类似
private void incrementTotalViews();
的函数里面onBindViewHolder
您的RecyclerView.Adapter
,这个函数应该获取最新的 View ,将其加 1,然后将新的数字设置到数据库中。尽管如此,即使用户退出帖子并再次回来,这也会被一次又一次地调用。您希望在单击布局时存储访问者总数的值。 为此,您需要调用
ViewHolder
中的函数,每当单击 itemView 时就会调用它。
所以你需要添加类似的内容,
itemView.setOnClickListener()
低于super(itemView)
在 ViewHolder 构造函数中。在此监听器的 onClick 中,您需要调用一个函数来存储总访问者的值。
关于java - 添加 Recyclerview 的 itemview 总计 "views"的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56483251/