1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

画像名を文字列で指定してImageViewに貼り付けるコード(android)

Last updated at Posted at 2019-10-28

追記: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を取得することもできるかと

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?