私はhdpiからldpiに対応したアプリケーションを持っています。リソースにアクセスする上で問題なく、正常に動作します。 このアプリでは、私はListViewを持って、私はリストの各ビューに画像を追加することにしました。だから私は3つのpng画像を用意しました.1つは各解像度に対応し、それぞれのリソースディレクトリに配置しました。私はgetApplicationContext()
でgetBaseContext()
を交換しようとした mImageView.setImageDrawable(getBaseContext().getResources().getDrawable(R.drawable.hello)
:androidでいくつかのmdpiとldpiリソースの問題
すべてがhdpi 2.2エミュレータで結構ですが、それは私がiImageViewで描画可能に入れbindViewメソッドラインで2.2 MDPIとLDPIにNullPointerExceptionでクラッシュ成功しなくてもそれを削除することもできます。
私はアプリが-mdpiフォルダ内にないと推測します。しかし、私はhdpiのバージョンが正常に動作する理由を理解していません。裸のdrawableディレクトリには何もないことに注意してください。 さらに、アプリケーションはListViewで前のアクティビティを起動するために使用したので、これらのフォルダを調べる方法を知っています。
これは私が試したことです。 bindViewメソッドは、引数にContextコンテキストをとります。私はそれも成功なしでそれを使用しようとしました... – Tom
デバッガを使用して、/ drawableを削除しても、あなたが持っているエラーメッセージを投稿してください。また、エミュレータを閉じて、再オープンしてみてください。また、コード内のbindViewメソッドはどこですか?私はそれを見ていない。それを「取り除く」とはどういう意味ですか?何を削除しますか? – f20k
これは私のmdpi電話機で最初に発生したのでエミュレータ関連ではありません。 bindViewは、CursorAdapterを継承するクラス内にあり、親アクティビティのコンテキストを引数として取得します。 – Tom