Glide加載圖片報錯You must not call setTag() on a view Glide is targeting


報錯信息為:You must not call setTag() on a view Glide is targeting

 

原因就是View使用setTag后導致Glide之前請求的標記被清除,強制轉換過程中不能將你給定的類型判斷為Request類型所致。

在Glide源碼中可追溯:

 if (tag instanceof Request) {
            request = (Request) tag;
        } else {
            throw new IllegalArgumentException("You must not call setTag() on a view Glide is targeting");
        }

 所以你可以在Glide代碼執行之后在使用 setTag就不會出現異常了!

 ***但是這里仍然有個“坑”在Glide代碼執行之后使用 setTag會出現不定期無法加載圖片,如果我們必須要使用setTag的話請使用setTag(id,val);即可,這里需要添加一個value/ids資源文件;

配置例如:

<resources>
<!--給圖片標記索引位置-->
<item name="indexTag" type="id" />
</resources>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM