2012-04-18 15 views
0

可能性の重複:
Setting Android images from string valueアンドロイド変更の背景画像、プログラムで文字列から

私は私が持っているソース文字列とAndroid上でプログラム的背景画像を変更する必要があります。 たとえば、私はXMLファイル "source1"、 "source2"などから得られた文字列の配列を持っています。どうしてそれらを画像として背景に設定できますか? mTextView.setBackgroundResource(R.drawable.myResouce);のような例がありますが、文字列からmySourceを設定する方法がわかりません。 drawableオブジェクトを通して可能かもしれませんか?

+0

はhttp://stackoverflow.com/questions/4313007/setting-android-images-from-string-value – ngesh

+0

を参照してください..? ヒントが必要な場合は、 "android:hint"を使用してください... –

+0

XMLファイルからどのタイプの文字列を取得していますか?いくつかの例を見せていただけますか? –

答えて

4

イメージ名をDrawable内にString.xmlと同じ名前にします。

セイなどのために:あなたは、それは戻りますが、その文字列変数で描画可能になるgetResourceId()にこの名前を渡すとimages.PNGですそれはstring.xmlを

画像でなければなりません。あなたが背景として、テキストを作るのはなぜ

public static int getResourceId(Context context, String name, String resourceType) { 
    return context.getResources().getIdentifier(name, resourceType, context.getPackageName()); 
} 

int iconId = getResourceId(Activity.this, image, "drawable");  

ImageView categoryIcon = (ImageView) v.findViewById(R.id.category_icon); 
categoryIcon.setImageResource(iconId); 
+0

toResourceString(name)メソッドとは何ですか? –

+0

muの更新された答えを確認してください。そのメソッドの必要はありません。単純に文字列名を渡してください。 – Venky

+0

私はこれを試しましたが、それは私のために働かなかった 'View v = new View(this); \t \tのTextViewのTextView =(のTextView)v.findViewById(R.id.provider_logo)。 \t \t int resid = Helpers.getResourceId(PaymentActivity.this、 "ロゴ"、 "drawable"); \t \t textView.setBackgroundResource(残油); ' –