ページを動的に作成するために使用している文字列名と文字列ファイル名を持つデータベースがあります。前のページでは、選択したボタンに基づいてカーソルが必要な特定のエントリを返し、それを使用して対応する画像を見つけて表示します。さまざまな場所からコードをごちゃまぜにしようとしてきましたが、何も機能していないようです。現在、次のようになっています。
ImageView iv = (ImageView) findViewById(R.id.iv1);
Bitmap bmap = (Bitmap) BitmapFactory.decodeResource(this.getResources(),
getResources().getIdentifier(c.getString(4), "drawable", getPackageName()));
iv.setImageBitmap(bmap);
デバッグの目的で、カーソル getString(4) をトーストしたところ、「al_0」または本来あるべき姿として正しく表示され、「al_0.jpg」という名前の res の「drawable」フォルダーにファイルがあります。
パッケージ名と描画可能なフォルダーの場所を画像名と直接連結し、他の変数の位置に null を配置するさまざまな組み合わせを試しました。毎回、decodeResource 行への参照でクラッシュするか、「リソース番号 0x00000000 の値を取得するときにパッケージ識別子がありません。」
より詳細な情報が必要な場合は、私がそれらを提供しようとすることができます。
更新:だから、何か他のことが間違っているように見えます.以下を使用してもクラッシュします:
ImageView iv = (ImageView) findViewById(R.id.iv1);
iv.setImageResource(R.drawable.al_0);
R.drawable.al_0 は間違いなく drawable-mdpi の正しいリソースです (Lint からの提案で移動しました)。