3月 21, 2020 Android
### 清空 ImageView

為什麼要清空 ImageView 呢? 在 Inflate XML 時 ImageView 不是已經空白的嗎?

對的,在最初 Inflate XML 時 ImageView 的確空白的,但是如果在程式中動態載入外部的資料更新到 ImageView 顯示,然後又要使用相同的 ImageView 顯示第二筆的資料,那麼就需要先把 ImageView 先清空,才能安心把第二筆資料的圖片顯示到 ImageView 內。

最好的例子是 RecyclerView ,因為 RecyclerView 會把用過的 ViewHolder 重新使用,就會有機會殘留著上一筆資料的 "殘留物"。必需要清空才能確保資料正確。

### 實作

其實也不是一個很複雜的事情,只需要利用到 Android 原生的 color 設定就可以。

```java
// get image view from view holder
viewHolder.mImageView
	
	// set image resources to transparent color
	.setImageResources(android.R.color.transparent);
```

另外,坊間有些人會提及第二個方法,就是把 `android.R.color.transparent` 取代為 0 值。但是有一部份人嘗試過是不成功的,大家最好還是使用上面的方法較好。
過去文章
2025 (9)
4 (5)
3 (1)
2 (3)
2024 (25)
11 (3)
10 (3)
9 (1)
3 (18)
2022 (6)
10 (1)
6 (2)
5 (1)
3 (1)
1 (1)
2021 (21)
11 (7)
7 (1)
6 (2)
5 (2)
4 (6)
3 (2)
2 (1)
2020 (92)
12 (1)
11 (2)
10 (4)
9 (10)
8 (5)
7 (1)
6 (3)
5 (1)
4 (4)
3 (25)
2 (7)
1 (29)
2019 (57)
12 (25)
11 (7)
9 (25)