1

ローカル リソース ドローアブルの名前を String として渡して、ImageView をプログラムで設定したいと考えています。

ドローアブルは明らかにこの方法で識別されます

 R.drawable.mydrawable_name

条件スイッチですべてをマップせずにこの問題を解決するにはどうすればよいですか?

この形で何かを避けたい

if(myString.equal"stringname_1"){
   myImageview.setImageResource( R.drawable.stringname_1);
}
else if(myString.equal"stringname_1")....
etc
4

3 に答える 3

1

Javaリフレクションを使用してそれを行うことができます

        Field field = R.drawable.class.getDeclaredField("mydrawable_name");

        int a = field.getInt(this);

a は の id 値を持ちますR.drawable.mydrawable_name。これで、この ID を使用して画像を設定できます

于 2013-07-03T17:56:56.090 に答える