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 中,您需要調用一個函數來存儲訪問者總數的值。
添加回答
舉報
