追記:kotlinで見通しよく書き換えました
文字列(リソース名)で画像を取得してImageViewに貼り付ける(kotiln)
swiftだと画像名で画像を指定して貼り付けられるのですが、そういえばandroidではなかったなと(あるんですかね)
見つからなかった、というか大して探してないのですが何となく作りました。
手順は
①画像名からリソースIDを取得
②リソースIDを使って画像をセット
これだけです。
Util.java
public void setBackgroundResourceByString(Context context, String imgName, View view){
int resourceId = context.getResources().getIdentifier(imgName, "drawable", context.getPackageName());
view.setBackgroundResource(resourceId);
}
第一引数にgetContext()などで得たcontextを代入、
第二引数はdrawableに入れられた画像名をストリング型で代入、
第三引数はその画像を貼り付けたimageViewやViewを代入してください
※Viewを継承したクラスなら使えます
ちょっと気持ちが悪いので
Util.java
public int getResourceIdByString(Context context, String imgName){
return context.getResources().getIdentifier(imgName, "drawable", context.getPackageName());
}
このくらいのメソッドが無難かもですね
ちなみに多分ですが、drawableはcolorやstringとして登録されている色や文字のリソースIDを取得することもできるかと