私のプロジェクトにはいくつかの画像があります。イメージの名前はStringに格納され、setImageResource(R.drawable。 ".....");イメージ名の文字列を使用していますが、問題はこれが機能していないことです。R.drawable。someStringの置き換え方法
どうすればいいですか?
私のプロジェクトにはいくつかの画像があります。イメージの名前はStringに格納され、setImageResource(R.drawable。 ".....");イメージ名の文字列を使用していますが、問題はこれが機能していないことです。R.drawable。someStringの置き換え方法
どうすればいいですか?
これは正しい構文ではなく、イメージ・リソースを変更する前に、すべてのリソースがIDを提供することを知っておく必要があります。これらのIDはR.javaファイルに格納されます。 Idsは整数形式に格納され、アプリケーションであなたは名前ではなく、これらのidで、これらすべてのリソースを取得することができますので、あなたはで、最初はリソースのIDを取得する必要があります。この残油を使用し、その後
String mDrawableName = "myimg";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());
と。
よかった、ありがとう。 –
使用
getResources().getIdentifier("NAME_OF_IMAGE", "drawable", context.getPackageName())
大変ありがとうございます。 –
このthreadを参照してください。それはあなたを助けるはずです。基本的には識別子を取得してからsetImageResource
を使用してロードする必要があります。
不明なダウン・ダウン者、私の答えはどうしたのですか? –
よかった、ありがとう。 –
私は既にあなたに肯定的な投票を与えています。 –
public int getIdentifier(String name、String defType、String defPackage);
名 - 画像
DEFTYPEの名前 - それはあなたのケースのために描画可能になります
defPackage - あなたのアプリのデフォルトパッケージ
試み(私はあなたがこのための活動にgetPackage()を使用することができると思います)この
String uri = "NAME";
// int imageResource = R.drawable.icon;
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
ImageView imageView = (ImageView) findViewById(R.id.myImageView);
Drawable image = getResources().getDrawable(imageResource);
imageView.setImageDrawable(image);
「drawable」から「raw」フォルダにイメージを移動し、以下のように文字列値にアクセスすることで、動作しています。 'res'ディレクトリの下に 'raw'フォルダがない場合は、res-> new-> Androidリソースディレクトリを右クリックし、resourcetypeのドロップダウンで 'raw'を選択します。
String avatar = ("android.resource://" + "yourPackageName/" + String.valueOf(R.raw.robot_blue));
画像はありますか? – Deva
私のプロジェクトのドロアブルにあります。 –
アンドロイドではうまくいかないので、画像をドロウアブルに保存し、R.drawable.imageでアクセスする必要があります。 – Newts