我有RecyclerView
(ListView
)。每個列表項(行)都有上傳/下載按鈕。當用戶按下按鈕時,它必須從亞馬遜上傳或下載文件。來自回收商視圖列表項的異步呼叫
上傳或下載過程正在使用Kotlin Fuel
框架完成。 Fuel是一個異步框架。一旦上傳或下載過程完成,我就寫了一個回調來訪問RecyclerView
適配器。現在,我必須改變按鈕(例如,如果按鈕是上傳的,在用戶點擊之後,它必須上傳,一旦上傳完成,它應該將其改變爲下載按鈕)。一旦調用回調方法,我搜索列表(我傳遞給列表視圖)以查找RecyclerView
中列表項的位置。
但我不知道如何弄清View Holder
更新按鈕從上傳到下載或下載上傳。我嘗試過,一旦識別該行,就致電notifyDataSetChanged
。但它的行爲如此不同,以至於RecyclerView
的第一頁。它在notifyDataSetChanged
之後根本不顯示上傳/下載按鈕。
我應該打電話notifyItemChanged(position)
,以便它調用bindViewHolder()
其中有邏輯顯示下載按鈕,如果文件不存在,否則上傳按鈕。
還有沒有其他更好的方法來做到這一點。我在單獨的文件中定義了FUEL調用以實現可重用性。
當然會嘗試它,並接受答案,一旦它的工作.. – User