別のプロジェクトをライブラリとして使用してAndroidプロジェクトを構築しています。ライブラリ プロジェクトでは、すべての作成方法を処理し、他のプロジェクトはそのライブラリを参照して、画像などの独自のリソースを含みます。
ライブラリ プロジェクトには imageView があります。私がやりたいのは、画像をライブラリ プロジェクトに渡してレンダリングすることですが、2 つのプロジェクトに独自のリソースがあるため、ID を渡すことはできません。子プロジェクトで Drawable を作成し、親プロジェクトに渡そうとしたところ、nullpointerexception が発生しました。
考えられるのはビットマップを渡すことですが、すべてのリソースが圧縮されており、使用できるのはプロジェクトフォルダー内の画像を使用してビットマップを作成する方法がわかりません
context.getResources()
リソースファイルを取得します。
または、これを行う他の方法はありますか?
アップデート:
申し訳ありませんが、NullPointerException は、呼び出す前に imageview を使用しようとしたためです。
super.onCreate();
例外はスローされず、実行できるようになりましたが、imageview はまだ画像を表示できません。私のコード:
ImageView imageview = (ImageView) findViewById(library.R.id.imageView1);
imageview.setImageResource(R.drawable.image);
解決
呼び出す前に、親クラスで imageview を使用しようとしたことがわかりました
super.onCreate()
画像が読み込まれない
setContentView()
親アクティビティのレイアウトをカバーします。
以下に示すメソッドを使用して、ビットマップまたはドローアブルをスーパー クラスのイメージ ビューに渡すことができます。
または、子クラスでイメージビューを作成してから、libraryPath.R を使用して親クラスでイメージビューを取得します。