解決RecyclerView刷新時閃爍的問題,如何局部刷新列表項的某幾個控件

場景:當RecyclerView列表中的項須要高頻率的刷新時,因爲itemview的從新繪製和設置致使item出現閃爍。 而實際item上高頻率變動的僅僅是一兩個控件。java

 

解決方案:ide

數據更新時,使用notifyItemChanged(int position, Object payload)方法,在adapter的實現中重寫以下方法code

@Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position, List<Object> payloads) {
        if(payloads == null || payloads.isEmpty()) {
            super.onBindViewHolder(holder, position, payloads);
        } else {
            //僅更新個別控件
            setSpeed(holder, getItem(position));
        }
    }

以上僅僅只是示例,具體更新時能夠傳遞你須要的payload對象到adapter中強制轉換來更新某些控件,完全解決item刷新時的閃爍問題對象

相關文章
相關標籤/搜索