添加 Recyclerview 的项目视图的总“视图”的最佳做法是什么?

在每个社交媒体中,我都看到称为“视图”的 TextView。

所以“视图”实际上意味着什么,什么时候计算 +1(add) ?

情况 1:每当用户滑动 recyclerview 并且任何项目视图出现在屏幕区域内时,项目视图“视图”计数为 +1。

案例 2:每当用户点击 itemview 时,itemview 的“views”计数为 +1。(我知道这个案例是如何实现的)

我认为可能有这两个之一。如果案例 1 比请告诉如何从 onBindViewHolder 开始或任何其他案例比请建议

https://i.stack.imgur.com/VPRU5.png 我添加了一个来自 fb 的例子。总浏览” 。这个帖子是完全没有点击吗?


人到中年有点甜
浏览 87回答 1
1回答

慕工程0101907

View来自 Facebook 的视图与Android 中使用的视图完全不同。在 Android 中,View是 Android 中的一个基本元素,然后由其他类对其进行扩展,为其添加一些自己的属性View。所以,例如,class TextView extends View{}这是OOP 中继承的基本问题。继承意味着,考虑一个例子,您创建一个名为“Car”的基类,您在其中编写基本汽车的代码,例如“汽车有四个轮胎”,以及汽车具有的所有基本属性。然后创建另一个名为 Bus 的类,并使其扩展这个 Car 类,这样巴士将具有其父类“Car”的属性,并且能够添加其自身的一些属性,例如“Bus is long” . 所以在这里,“Car”类就像“View”,而“Bus”类就像 TextView。因此,例如,TextView扩展View类的功能以能够在其中显示一些文本/字符串。TextView之所以称为 a View,是因为它继承了基本View类的属性,并添加了一些自己的属性。如果你问如何在像 Facebook 这样的帖子功能上实现“总浏览量”,你必须添加每次onBindViewHolder在RecyclerView.因此,在 中onBindViewHolder,您将调用该函数来获取当前查看计数,然后递增该值并将其添加到该帖子的数据库中。你给了两个案例,编辑:正如您在评论中所问,您想要:每当用户看到帖子时,增加数据库中的视图。为此,您需要在您的 中调用一个函数private void incrementTotalViews();,onBindViewHolder此RecyclerView.Adapter函数应获取最新视图,将其递增 1,然后将新数字设置到数据库中。虽然,即使用户掉线并再次返回帖子,也会一次又一次地调用它。您希望在单击布局时存储访问者总数的值。为此,您需要在 中调用一个函数ViewHolder,只要单击 itemView 就会调用该函数。所以你需要添加类似的东西,itemView.setOnClickListener()super(itemView)在ViewHolder 构造函数内部下方。在这个侦听器的 onClick 中,您需要调用一个函数来存储访问者总数的值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java