1 回答
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 这样的帖子功能上实现“总浏览量”,你必须添加每次onBindViewHolder
在RecyclerView
.
因此,在 中onBindViewHolder
,您将调用该函数来获取当前查看计数,然后递增该值并将其添加到该帖子的数据库中。
你给了两个案例,
编辑:
正如您在评论中所问,您想要:
每当用户看到帖子时,增加数据库中的视图。
为此,您需要在您的 中调用一个函数
private void incrementTotalViews();
,onBindViewHolder
此RecyclerView.Adapter
函数应获取最新视图,将其递增 1,然后将新数字设置到数据库中。虽然,即使用户掉线并再次返回帖子,也会一次又一次地调用它。您希望在单击布局时存储访问者总数的值。为此,您需要在 中调用一个函数
ViewHolder
,只要单击 itemView 就会调用该函数。
所以你需要添加类似的东西,
itemView.setOnClickListener()
super(itemView)
在ViewHolder 构造函数内部下方。在这个侦听器的 onClick 中,您需要调用一个函数来存储访问者总数的值。
添加回答
举报