0

私は自分のプロジェクトに小さな SQLite DB を持っており、そこにテーブル "Products" があります。このテーブルの列の 1 つは String "image" です。アクティビティでは、インテント エクストラで製品 ID を受け取り、DB から製品オブジェクトを作成します。このアクティビティのレイアウトには、ImageView があります。Product オブジェクトが作成されるたびに、ImageView イメージをオブジェクトに格納されているイメージに設定したいと考えています。私は次のことをしようとしました:

ImageView product_image = (ImageView) findViewById(R.id.product_image);
product_image.setImageDrawable(Integer.parseInt("R.drawable."+productToPresent.getImage());

productToPresentは私の製品オブジェクトであり、getImage は画像文字列名を返します。ただし、この時点でアプリがクラッシュし、logcat に次のエラー メッセージが表示されます。

RuntimeException: Unable to start activity ComponentInfo{com.myapp.appname/com.myapp.appname.ActivityProductDetails}: java.lang.NumberFormatException: Invalid int: "R.drawable.cat02_prod02" ここで、cat02_prod02 は、DB に保存されている文字列と画像のファイル名です。

では、どうすればそれができるのでしょうか?

4

1 に答える 1