欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发ImageView图片无法显示解决过程

程序员文章站 2023-10-19 13:36:24
今天碰到一个非常奇怪的问题: 在android中imageview无法显示加载的本地sdcard图片。 具体过程是:先调用本地照相机程序摄像,然后将拍摄的图片加载在imag...
今天碰到一个非常奇怪的问题:
在android中imageview无法显示加载的本地sdcard图片。
具体过程是:先调用本地照相机程序摄像,然后将拍摄的图片加载在imageview中显示。
复制代码 代码如下:

public class actienvi extends activity {
static final string tag = "actienvi";
private static final int req_code_camera = 0x1;

private string imgpath = "";
private string tempath = "";
@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.acti_envi);

......
}
......
@override
protected void onactivityresult(int requestcode, int resultcode, intent data) {
// 拍照成功并返回
if (requestcode == req_code_camera
&& resultcode == activity.result_ok) {
this.imgpath = tempath;
bitmap bm = bitmapfactory.decodefile(this.imgpath);
imgview.setimagebitmap(bm);
imgview.setscaletype(scaletype.fit_center);
}
}

.......
// 调用系统相机拍照
protected void captureimage() {
intent intent = new intent(mediastore.action_image_capture);
tempath = iohelper.generateimgpath();
file out = new file(tempath);
intent.putextra(mediastore.extra_output, uri.fromfile(out));
startactivityforresult(intent, req_code_camera);
}
......
}

感觉问题比较奇葩。记得之前做过一个项目,也是加载图片的,照出来对比之后,发现代码逻辑,layout都没有问题,那问题出在哪里呢?

上网搜索了半天,没有结果,感觉都抓狂到边缘了。。。当我快要放弃的时候,无意间对比了一下androidmanifest.xml文件,发现略有不同,区别在于users-sdk中的android:targetsdkversion有和无。于是我改了改。
复制代码 代码如下:

<uses-sdk android:minsdkversion="8" />
<!-- android:targetsdkversion="17" -->

我发现将users-sdk中的android:targetsdkversion注释掉,然后调试的时候,图片居然显示了。这是为什么啊???顿时无语,求大神解释啊...