如何动态获取R值

How to dynamically get R value

我必须从 R 文件中动态获取一些资源。

例如,假设我必须动态生成 ImageView 并动态获取 drawable 以放入其中。

我不知道我要生成多少ImageView;可能有 10、50 或 100,所以我必须动态地做所有事情。

我的主要问题是从 R 文件中动态获取 drawable

假设我有这个可绘制对象: R.drawable.img1 R.drawable.img2 R.drawable.img3 R.drawable.img4

我应该这样做:

    for(int i = 0; i < 10; i++){
        ImageView iv = new ImageView(this);
        iv.setImageResource(R.drawable.img + i);            
    }

如何"build"这行代码:R.drawable.img + i

我怎样才能达到我的目标?

首先确保你的图片是jpgpng

你可以试试这个

   for(int i = 0; i < 10; i++)
     {
      ImageView iv = new ImageView(this);
      int imageResource = context.getResources().getIdentifier("@drawable/img "+i.replace(".jpg", ""), null,context.getPackageName());
      iv.setImageResource(imageResource);
       }
   final int []imageArray=
           {R.drawable.img1,R.drawable.img2,R.drawable.img3};


           final Handler handler = new Handler();
            Runnable runnable = new Runnable() {
            int i=0;
            public void run() {
            //randomimg.setImageResource(imageArray[i]);

            //hEAR CREATE dynamic image view and set image resource 
               i++;
                if(i>imageArray.length-1)
                {
                i=0;    
                }
                handler.postDelayed(this, 5000);  //for interval...
             }

           };
          handler.postDelayed(runnable, 5000); 

将以上代码放入您的activity。并设置适合我的图像资源。