2011-01-20 9 views
0

私は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で前のアクティビティを起動するために使用したので、これらのフォルダを調べる方法を知っています。

答えて

0

おそらく、getBaseContext()をコンテキストに置き換える必要があります。この回答を見るquestion

+0

これは私が試したことです。 bindViewメソッドは、引数にContextコンテキストをとります。私はそれも成功なしでそれを使用しようとしました... – Tom

+0

デバッガを使用して、/ drawableを削除しても、あなたが持っているエラーメッセージを投稿してください。また、エミュレータを閉じて、再オープンしてみてください。また、コード内のbindViewメソッドはどこですか?私はそれを見ていない。それを「取り除く」とはどういう意味ですか?何を削除しますか? – f20k

+0

これは私のmdpi電話機で最初に発生したのでエミュレータ関連ではありません。 bindViewは、CursorAdapterを継承するクラス内にあり、親アクティビティのコンテキストを引数として取得します。 – Tom

0

ターゲットSDKは何ですか? > 3(> 1.5)

+0

もちろん、それは> 3です(それは4です!)、他の(ただしリストビューではない)ドロアブルはうまくフェッチされます。 – Tom

関連する問題