Java setImageResources-我想添加一个字符串。有可能吗?
现在我得到了一个这样的方法。但是,当我收到26封信时,会有很多假设 有人知道我该怎么改变吗?我尝试过这样做,但是setImageResource无论如何都需要intJava setImageResources-我想添加一个字符串。有可能吗?,java,android,Java,Android,现在我得到了一个这样的方法。但是,当我收到26封信时,会有很多假设 有人知道我该怎么改变吗?我尝试过这样做,但是setImageResource无论如何都需要int public void correctLetter(String Letter, int pos){ if(letter.equals("a")){ ImageView image = images[pos]; image.setImageResource(R.drawable.a)
public void correctLetter(String Letter, int pos){
if(letter.equals("a")){
ImageView image = images[pos];
image.setImageResource(R.drawable.a);
image.setVisibility(ImageView.VISIBLE);
}
在调用setImageResource()时,可以将图像的资源ID保留在静态int数组中,并索引到该数组中。请参考下面的代码
public void correctLetter(String letter, int pos) {
char newLetter = letter.toCharArray()[0];
String startS = "R.drawable." + letter;
startS += Character.toString(newLetter);
ImageView image = images[pos];
image.setImageResource(startS);
image.setVisibility(ImageView.VISIBLE);
}
您可以通过以下方式初始化
启动:
private static final int charImgIds[] = { R.drawable.a, R.drawable.b, ... , R.drawable.z };
public void correctLetter(String letter, int pos) {
int letterIndex = letter.toCharArray()[0];
ImageView image = images[pos];
image.setImageResource(charImgIds[letterIndex]);
image.setVisibility(ImageView.VISIBLE);
}
我想我爱你!非常感谢!
int startS = getResources().getIdentifier(letter, "drawable","com.yourpackage.name");