web-dev-qa-db-ja.com

Android-Glideを使用して名前で画像をロードする方法

こんにちは、Glideを使用して描画可能なフォルダから画像を読み込むと、すべて正常に動作します。これが私のコードです。

Glide.with(this).load(R.drawable.my_drawable_image_name).into(myImageView);

名前だけで画像をロードする方法があるかどうか疑問に思っています:

Glide.with(this).load(my_drawable_image_name).into(myImageView);

たとえば、データベースから動的にイメージ名を取得したいので...

それについて何か提案はありますか?前もって感謝します。

18
James

Nameのみを使用してgetImageを取得するためにDrawableメソッドを呼び出します。

Glide.with(this).load(getImage(my_drawable_image_name)).into(myImageView);

public int getImage(String imageName) {

    int drawableResourceId = this.getResources().getIdentifier(imageName, "drawable", this.getPackageName());

    return drawableResourceId;
}
31

これを試してください:

Glide.with(this)
.load(getResources()
.getIdentifier("my_drawable_image_name", "drawable", this.getPackageName())
.into(myImageView);
7
Hamlet Mendez

Uriを使用します。

String image = "image.jpg";
    String completePath = Environment.getExternalStorageDirectory() + "/" + image;

    File file = new File(completePath);
    Uri uri = Uri.fromFile(file);

    Glide.with(this).load(uri).into(imageView);
3
josedlujan