第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

添加 Recyclerview 的項目視圖的總“視圖”的最佳做法是什么?

添加 Recyclerview 的項目視圖的總“視圖”的最佳做法是什么?

人到中年有點甜 2023-01-05 17:08:33
在每個社交媒體中,我都看到稱為“視圖”的 TextView。所以“視圖”實際上意味著什么,什么時候計算 +1(add) ?情況 1:每當用戶滑動 recyclerview 并且任何項目視圖出現(xiàn)在屏幕區(qū)域內(nèi)時,項目視圖“視圖”計數(shù)為 +1。案例 2:每當用戶點擊 itemview 時,itemview 的“views”計數(shù)為 +1。(我知道這個案例是如何實現(xiàn)的)我認為可能有這兩個之一。如果案例 1 比請告訴如何從 onBindViewHolder 開始或任何其他案例比請建議https://i.stack.imgur.com/VPRU5.png 我添加了一個來自 fb 的例子。總瀏覽” 。這個帖子是完全沒有點擊嗎?
查看完整描述

1 回答

?
慕工程0101907

TA貢獻1887條經(jīng)驗 獲得超5個贊

View來自 Facebook 的視圖與Android 中使用的視圖完全不同。

在 Android 中,View是 Android 中的一個基本元素,然后由其他類對其進行擴展,為其添加一些自己的屬性View。

所以,例如,

class TextView extends View{}

這是OOP 中繼承的基本問題。

繼承意味著,考慮一個例子,您創(chuàng)建一個名為“Car”的基類,您在其中編寫基本汽車的代碼,例如“汽車有四個輪胎”,以及汽車具有的所有基本屬性。然后創(chuàng)建另一個名為 Bus 的類,并使其擴展這個 Car 類,這樣巴士將具有其父類“Car”的屬性,并且能夠添加其自身的一些屬性,例如“Bus is long” . 所以在這里,“Car”類就像“View”,而“Bus”類就像 TextView。

因此,例如,TextView擴展View類的功能以能夠在其中顯示一些文本/字符串。TextView之所以稱為 a View,是因為它繼承了基本View類的屬性,并添加了一些自己的屬性。

如果你問如何在像 Facebook 這樣的帖子功能上實現(xiàn)“總瀏覽量”,你必須添加每次onBindViewHolderRecyclerView.

因此,在 中onBindViewHolder,您將調(diào)用該函數(shù)來獲取當前查看計數(shù),然后遞增該值并將其添加到該帖子的數(shù)據(jù)庫中。

你給了兩個案例,

編輯:

正如您在評論中所問,您想要:

  1. 每當用戶看到帖子時,增加數(shù)據(jù)庫中的視圖。

    為此,您需要在您的 中調(diào)用一個函數(shù)private void incrementTotalViews();,onBindViewHolderRecyclerView.Adapter函數(shù)應獲取最新視圖,將其遞增 1,然后將新數(shù)字設置到數(shù)據(jù)庫中。雖然,即使用戶掉線并再次返回帖子,也會一次又一次地調(diào)用它。

  2. 您希望在單擊布局時存儲訪問者總數(shù)的值。為此,您需要在 中調(diào)用一個函數(shù)ViewHolder,只要單擊 itemView 就會調(diào)用該函數(shù)。

所以你需要添加類似的東西,

itemView.setOnClickListener()

super(itemView)在ViewHolder 構造函數(shù)內(nèi)部下方。在這個偵聽器的 onClick 中,您需要調(diào)用一個函數(shù)來存儲訪問者總數(shù)的值。


查看完整回答
反對 回復 2023-01-05
  • 1 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號