我可以从sqlite数据库中获取数据。但是,当我的图片网址为空时,它会阻止我的其他内容显示。
try{
name.setText(nameString);
school.setText(schoolString);
psupervisor.setText(info.getPsupervisor());
pdate.setText(info.getPdate());
a.setChecked(Boolean.parseBoolean(info.getPtick1()));
b.setChecked(Boolean.parseBoolean(info.getPtick2()));
c.setChecked(Boolean.parseBoolean(info.getPtick3()));
pcomment1.setText(info.getPcomment1());
psignature1.setImageBitmap(resizeSignatureBitmap(info.getPsignature1()));
pcomment2.setText(info.getPcomment2());
psignature2.setImageBitmap(resizeSignatureBitmap(info.getPsignature2()));
pdate2.setText(info.getPdate2());
d.setChecked(Boolean.parseBoolean(info.getPtick4()));
e.setChecked(Boolean.parseBoolean(info.getPtick5()));
f.setChecked(Boolean.parseBoolean(info.getPtick6()));
pcomment3.setText(info.getPcomment3());
psignature3.setImageBitmap(resizeSignatureBitmap(info.getPsignature3()));
pcomment4.setText(info.getPcomment4());
psignature4.setImageBitmap(resizeSignatureBitmap(info.getPsignature4()));
Log.d("PREPOST: ", log2);
db.close();
}
catch(Exception ex){}
}
例如,如果psignature2为null,则不会显示从pdate2到pcomment4的项目。 由于try-catch没有崩溃,因此我发现了迟到的原因
我调整位图分辨率的方法:
public Bitmap resizeSignatureBitmap(String imagePath){
BitmapFactory.Options options = new BitmapFactory.Options();
InputStream is = null;
try {
is = new FileInputStream(imagePath);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
BitmapFactory.decodeStream(is,null,options);
try {
is.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
is = new FileInputStream(imagePath);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// here w and h are the desired width and height
options.inSampleSize = Math.max(options.outWidth/w, options.outHeight/h);
// bitmap is the resized bitmap
Bitmap bitmap = BitmapFactory.decodeStream(is,null,options);
is=null;
return bitmap;
}
因此,任何人都可以建议我可以做的任何方法,即使有一个空图像网址,它也不会阻止显示其他图像?谢谢!
答案 0 :(得分:0)
在resizeSignatureBitmap
中,您可以在结尾处应用支票来检查要返回的bitmap
天气是否为null
。如果是null
,您可以返回一些默认位图。
或者您只需在单独的try catch blocks
中设置图片。