適用于GirdView和RecyclerView等添加多張圖片操作。
實際演示和講解。
-
如下六張圖片資源,只有名字的末尾數字不同,我們可以通過循環獲得它們的資源ID。并運用到GridView等的適配器item中。
六張圖片資源 聲明圖片資源的數量和一個數組用于存儲六張圖片的ID
private int imageCount = 6;
private Integer[] mImageIds;
- 初始化數組,并且通過getIdentifier()方法循環得到各個圖片的資源ID
mImageIds = new Integer [imageCount];
for (int i = 0; i < imageCount; i++) {
// getIdentifier()有三個參數,
//第一個為你的圖片資源名稱也就是 use1 等,由于我的圖片是從1開始所以要加i+1
// 第二個為資源目錄名稱,PS:如果你的圖片是放在mipmap目錄下,可以將drawable修改為mipmap即可
int imageResId= getResources().getIdentifier("use" + (i + 1), "drawable", this.getPackageName());
// 將圖片ID添加到數組中
mImageIds[i] = imageResId;
Log.e("ImageResID=", mImageIds[i] + " ----");
}
// 日志Log輸出結果
ImageResID=: 2130837597 ----
ImageResID=: 2130837598 ----
ImageResID=: 2130837599 ----
ImageResID=: 2130837600 ----
ImageResID=: 2130837601 ----
ImageResID=: 2130837602 ----
項目實際運用
在各個適配器中,只需在需要的地方使用mImageIds數組即可。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// 初始化一個ImageView
ImageView imageView = new ImageView(getApplicationContext());
// 為imageView設置圖片資源
imageView.setImageResource(mImageIds[position]);
return imageView;
}