Android中循环获取图片资源Id并运用到GridView等的适配器之中

适用于GirdView和RecyclerView等添加多张图片操作。

实际演示和讲解。

  1. 如下六张图片资源,只有名字的末尾数字不同,我们可以通过循环获得它们的资源ID。并运用到GridView等的适配器item中。


    Android中循环获取图片资源Id并运用到GridView等的适配器之中_第1张图片
    六张图片资源
  2. 声明图片资源的数量和一个数组用于存储六张图片的ID

    private int imageCount = 6;
    private Integer[] mImageIds;
  1. 初始化数组,并且通过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;
            }

你可能感兴趣的:(Android中循环获取图片资源Id并运用到GridView等的适配器之中)