1

该方法Picture接收一个随机的int i. 我想添加iR.drawable.pic+i 以便在资源文件夹(pic0,pic1,pic2,...)中的几个可绘制对象之间随机选择,并将它们设置为视图末尾的背景k。我该怎么做?这是我现在拥有的代码:

public void Picture(int i){
    View k = new View(NewGame.this);
    k.setBackgroundResource(R.drawable.pic); 
    // here it should be k.setBackgroundResource(R.drawable.pic1); for example
    setContentView(k);
}
4

4 回答 4

2

尝试:

int resourceId=Resources.getSystem().getIdentifier("pic"+1, "drawable", getPackageName());
k.setBackgroundResource(resourceId); 
于 2012-06-28T12:17:40.020 回答
0

我认为您可以使用诸如getIdentifier方法之类的方法来获取您的 resId。

于 2012-06-28T12:16:21.750 回答
0

试试这个方法

public static String PACKAGE_NAME ;
PACKAGE_NAME=getApplicationContext().getPackageName();
int resID = getResources().getIdentifier( PACKAGE_NAME+":drawable/" + "pic"+urrandomenumber, null, null);  
k.setBackgroundResource(resID);
于 2012-06-28T13:11:43.530 回答
0

对我有用的代码是:

public void Picture(int i){

View k = new View(NewGame.this);

setContentView(k);

int resourceId=getResources().getIdentifier("pic"+i, "drawable",getPackageName()); 

k.setBackgroundResource(resourceId);
}
于 2012-06-28T21:53:47.773 回答