0

データストアに保存されている画像パスがいくつかあり、それらをドローアブルに変換して画像ビューに表示しようとしていますが、何らかの理由で null ポインター例外が発生します。誰か助けてくれませんか?ありがとう

String pathName = selectedPlayer.getPicture(); 
Toast.makeText(this, pathName, Toast.LENGTH_SHORT).show();
Drawable d = Drawable.createFromPath(pathName);
imageView.setImageDrawable(d);
4

2 に答える 2

2

ファイル名がnullでないことを確認する必要があります

次に、ファイルが存在するどうかを最初に確認します

if(pathName!=null && pathName!="") <--CHECK FILENAME IS NOT NULL
{
    File f = new File(pathName);
    if(f.exists())  <-- CHECK FILE EXISTS OR NOT
    {
        Drawable d = Drawable.createFromPath(pathName);
        imageView.setImageDrawable(d);

    }
}

編集: 最初にimageviewを次のように初期化する必要があります

imageView=(ImageView)findViewById(R.id.yourimageviewid);
于 2012-09-07T08:55:25.190 に答える
1

nullでimageViewあってはいけません。

その後、これを試してください:

bm = null;
try {
    bm = BitmapFactory.decodeFile(imageView);
} catch (OutOfMemoryError e) {
    e.printStackTrace();
}
imageView.setImageBitmap(bm);
于 2012-09-07T08:57:49.243 に答える