1. 程式人生 > >Glide載入預設圖片後setImageBitmap無效問題

Glide載入預設圖片後setImageBitmap無效問題

Glide.with(this).load(“aaaaaaa”).apply( RequestOptions().placeholder(R.drawable.logo)).into(civ_avator)

上面這行程式碼,由於 url 地址無效,會載入預設佔位圖 R.drawable.logo 。
當在這個 Activity 或者 Fragment 中直接給這個 civ_avator 設定圖片時(如:civ_avator.setImageBitmap(bitmap))
你會發現並沒有設定成功,但是 debug 跟蹤已經設定成功了。
這是因為 Glide 在載入失敗時,會呼叫重試方法,導致當你設定圖片成功後,Glide 的載入充實方法會將預設佔位圖重新設定到這個 civ_avator 上,這樣就出現了圖片設定成功,但仍顯示 Glide 預設佔位圖

解決方法:

  1. 在直接設定圖片之前,先呼叫 Glide 的 clear() 方法,取消載入失敗重試,然後在設定圖片即可Glide.with(this).clear(civ_avator)
  2. 使用 Glide 去載入圖片Glide.with(this).load(“aaaaaaa”)