Android开发ImageView图片无法显示解决过程
程序员文章站
2023-11-29 23:05:58
今天碰到一个非常奇怪的问题: 在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注释掉,然后调试的时候,图片居然显示了。这是为什么啊???顿时无语,求大神解释啊...
在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注释掉,然后调试的时候,图片居然显示了。这是为什么啊???顿时无语,求大神解释啊...
上一篇: ai怎么画小野花? ai绘制菊花的教程
下一篇: 探讨:如何修改Android超时休眠时间