4

イメージを SQLite データベースのリソース フォルダーに保存する必要があります。このデータベースは事前にロードされている (データ/パスにコピーされている) ため、実行時にデータが入力されることはありません。SQLite のテキスト フィールドに「R.drawable.picture1」のように保存しようとしました。

私の drawable フォルダには約 300 個の小さいサイズの写真 (jpg) があります。もちろん、クエリを実行すると、カーソルは特定の文字列を返します。これを ImageView の ImageResource として設定する必要がありますが、何を試してもうまくいかないようです。

私はそれをintに解析しようとしましたが、うまくいかないようです。何を試しても、logcat は R.id.picture1 が有効な整数ではないと言い続けます。少し前に考えられる解決策を見たことがありますが、一日中検索しましたが、見つからないようです。

望まないこと: 画像をバイト配列に変換して、ブロブとして保存できるようにします。ImageView でドローアブルを設定するために使用できるドローアブル参照を格納および取得する方法が必要なだけです。

経験者ではないので、どなたか教えていただけると幸いです。

4

1 に答える 1

7

リソースの名前がわかっている場合は、リソース識別子を検索して、それを ImageResource に使用できます。

int resId = context.getResources().getIdentifier("picture1","drawable",context.getPackageName());
image.setImageResource(resId);;
于 2012-07-21T21:45:19.560 に答える