亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

添加 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 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號