如何动态获取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
我怎样才能达到我的目标?
首先确保你的图片是jpg
或png
你可以试试这个
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。并设置适合我的图像资源。
我必须从 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
我怎样才能达到我的目标?
首先确保你的图片是jpg
或png
你可以试试这个
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。并设置适合我的图像资源。