[問題] (已解決)viewpager 在 recyclerview 自動播放

看板AndroidDev作者 (懶人)時間7年前 (2017/09/22 00:13), 7年前編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/1
想要能像蝦皮一樣, 能將viewpager的自動播放放在recyclerview的第一項 下timer是簡單,在onBindViewHolder 但當我的viewpager不可見時, 要怎麼將timer移除? 想了很久… 1.判斷position, 但如果我無法確定他在哪個position會不可見呢? 因為我的item高度不一定! 2.利用findFirstCompleteVisibleItemPosition 判斷第一個是誰? timer是移除了, 但當viewpager可見時要怎麼設置timer? 如果他還沒被回收? 題外話, 一開始以為蝦皮有解決這個問題了… 後來詳細測了一下… 蝦皮根本直接忽略壓!!! 我退出APP,他竟然還在背景跑timer… 沒有去處理這一塊…暈… 而且一個viewpager就一個timer 更新: 煆皮好像是直接鑲一個webview? 所以以現在的recyclerview有辦法達到同樣效果嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 117.19.35.216 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1506010411.A.046.html ※ 編輯: lazior (175.182.106.142), 09/22/2017 00:18:22 ※ 編輯: lazior (175.182.106.142), 09/22/2017 00:27:13

09/22 00:27, , 1F
只是要當時的第一項的話為什麼要綁特定item,Timer執行時直
09/22 00:27, 1F

09/22 00:28, , 2F
findFirstCompleteVisibleItemPosition找當時的第一項就好?
09/22 00:28, 2F
有想過... 但不知道怎麼去取得head view 而且這樣要在背景一直跑一個timer 去檢查是否為head view

09/22 10:44, , 3F
RecyclerView的adapter中有onViewAttachedToWindow
09/22 10:44, 3F

09/22 10:44, , 4F
和onViewDetachedFromWindow,你可以用參數viewHolder
09/22 10:44, 4F

09/22 10:45, , 5F
及instanceof判斷是不是你要自動撥放的holder
09/22 10:45, 5F

09/22 10:46, , 6F
來判斷要不要新增/移除timer
09/22 10:46, 6F
後來是採用您的方法 在onBindViewHolder如果新增的這個是head view 就掛上OnAttachStateChangeListener() 當view attach時就取消所有之前timer,並產生新的timer (不知回收怎麼運作,當我view attach,先前的timer也會被啟動...) 如果view detach就取消timer

09/23 08:49, , 7F
嘗試用 View.postDelay看看
09/23 08:49, 7F
※ 編輯: lazior (101.11.2.78), 09/24/2017 15:37:41 ※ 編輯: lazior (101.11.2.78), 09/24/2017 15:38:25
文章代碼(AID): #1Pm-Kh16 (AndroidDev)
文章代碼(AID): #1Pm-Kh16 (AndroidDev)