我有一些存储在数据存储区中的图片路径,我试图将它们转换为drawables并在我的图像视图中显示,由于某种原因我得到一个空指针异常。有人可以帮帮我吗?感谢
String pathName = selectedPlayer.getPicture();
Toast.makeText(this, pathName, Toast.LENGTH_SHORT).show();
Drawable d = Drawable.createFromPath(pathName);
imageView.setImageDrawable(d);
答案 0 :(得分:2)
您必须检查文件名是否为空
然后检查文件存在或不
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);
答案 1 :(得分:1)
看imageView
它不应该为空。
然后试试这个:
bm = null;
try {
bm = BitmapFactory.decodeFile(imageView);
} catch (OutOfMemoryError e) {
e.printStackTrace();
}
imageView.setImageBitmap(bm);