为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

人到中年有点甜 2023-01-05 17:08:33
在每个社交媒体中,我都看到称为“视图”的 TextView。所以“视图”实际上意味着什么,什么时候计算 +1(add) ?情况 1:每当用户滑动 recyclerview 并且任何项目视图出现在屏幕区域内时,项目视图“视图”计数为 +1。案例 2:每当用户点击 itemview 时,itemview 的“views”计数为 +1。(我知道这个案例是如何实现的)我认为可能有这两个之一。如果案例 1 比请告诉如何从 onBindViewHolder 开始或任何其他案例比请建议https://i.stack.imgur.com/VPRU5.png 我添加了一个来自 fb 的例子。总浏览” 。这个帖子是完全没有点击吗?
查看完整描述

1 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

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 这样的帖子功能上实现“总浏览量”,你必须添加每次onBindViewHolderRecyclerView.

因此,在 中onBindViewHolder,您将调用该函数来获取当前查看计数,然后递增该值并将其添加到该帖子的数据库中。

你给了两个案例,

编辑:

正如您在评论中所问,您想要:

  1. 每当用户看到帖子时,增加数据库中的视图。

    为此,您需要在您的 中调用一个函数private void incrementTotalViews();onBindViewHolderRecyclerView.Adapter函数应获取最新视图,将其递增 1,然后将新数字设置到数据库中。虽然,即使用户掉线并再次返回帖子,也会一次又一次地调用它。

  2. 您希望在单击布局时存储访问者总数的值。为此,您需要在 中调用一个函数ViewHolder,只要单击 itemView 就会调用该函数。

所以你需要添加类似的东西,

itemView.setOnClickListener()

super(itemView)在ViewHolder 构造函数内部下方。在这个侦听器的 onClick 中,您需要调用一个函数来存储访问者总数的值。


查看完整回答
反对 回复 2023-01-05
  • 1 回答
  • 0 关注
  • 81 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信