0

R.drawable に画像が存在するかどうかを確認する方法を知る必要があります。動的でなければならないため、画像の名前を示す文字列を使用する必要があります。「!=null」または「exist」で試しましたが、うまくいきませんでした....助けてください!!!!!!!!!

titulo=bundle.getString("titulo");
textView = (TextView) findViewById( R.id.textView1);
textView.setText(titulo);
foto="f"+bundle.getString("numero")+"a";
System.out.println(foto);
flipper =(ViewFlipper) findViewById(R.id.vfFlipper);

これにより、必要な画像の名前が得られます...

image = new ImageView(this);
image= new ImageView(this);
image.setImageResource(R.drawable.f00a1);
image.setScaleType(ScaleType.FIT_CENTER);
flipper.addView(image);

これで画像を使用できますが、動的にするために変数「foto」を使用する必要があります ありがとう!

4

4 に答える 4

2

R クラスはすべて整数です。リソース ID を表す文字列を作成することはできません。あなたが得ることができる最も近いのは、使用してgetResources()から呼び出すことです...

getIdentifier(文字列名、文字列 defType、文字列 defPackage)

...これにより、リソース名に基づいてリソースを表す整数を見つけることができます。

于 2013-10-18T00:44:45.780 に答える
1

皆さん、ありがとうございました!私は2つの答えを混ぜ合わせて..うまくいきます!

Resource r = getResources();
Bool fileFound = true;
Drawable d = null;
try{
d = r.getDrawable(getIdentifier(foto1, "drawable", getPackageName());
}
catch(ResourceNotFoundException e){
fileFound = false;
}
if(findFound){
// Your operations
// set drawable to your imageview.
}
于 2013-10-19T14:56:26.643 に答える
0
getResources().getIdentifier("icon", "drawable", "your.package.namespace"); 

上記のステートメントのゼロ以外の値を確認してください。

if(0)
   //does not exists
 else
   //exists
于 2017-08-08T06:26:00.193 に答える