我必须从 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);
}
我怎样才能构建&#34;这行代码:R.drawable.img + i
我如何实现目标?
答案 0 :(得分:2)
首先确保您的图片为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);
}
答案 1 :(得分:1)
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);
将以上代码放入您的活动中。并设置它对我有用的图像资源。