首页 > 代码库 > 怪胎:Android开发ImageView图片无法显示

怪胎:Android开发ImageView图片无法显示

今天碰到一个非常奇怪的问题:

在Android中ImageView无法显示加载的本地SDCard图片。

具体过程是:先调用本地照相机程序摄像,然后将拍摄的图片加载在ImageView中显示。

 

[java] view plaincopyprint?
 
  1. public class ActiEnvi extends Activity   {  
  2.   
  3.     static final String TAG = "ActiEnvi";  
  4.     private static final int REQ_CODE_CAMERA = 0x1;  
  5.        
  6.     private String imgpath = "";  
  7.     private String tempath = "";  
  8.   
  9.     @Override  
  10.     protected void onCreate(Bundle savedInstanceState) {  
  11.         super.onCreate(savedInstanceState);  
  12.         setContentView(R.layout.acti_envi);  
  13.           
  14.         ......        
  15.     }  
  16.   
  17.     ......  
  18.   
  19.     @Override  
  20.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  21.         // 拍照成功并返回  
  22.         if (requestCode == REQ_CODE_CAMERA  
  23.                 && resultCode == Activity.RESULT_OK) {  
  24.             this.imgpath = tempath;  
  25.             Bitmap bm = BitmapFactory.decodeFile(this.imgpath);  
  26.             imgView.setImageBitmap(bm);  
  27.             imgView.setScaleType(ScaleType.FIT_CENTER);  
  28.         }  
  29.     }  
  30.       
  31.     .......  
  32.   
  33.     // 调用系统相机拍照  
  34.     protected void captureImage() {  
  35.         Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  
  36.         tempath = IOHelper.generateImgPath();  
  37.         File out = new File(tempath);  
  38.         intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(out));  
  39.         startActivityForResult(intent, REQ_CODE_CAMERA);  
  40.     }  
  41.   
  42.     ......  
  43.   
  44. }  

 

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

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

 

[html] view plaincopyprint?
 
  1. <uses-sdk android:minSdkVersion="8" />  
  2.   <!-- android:targetSdkVersion="17" -->  

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

 

http://blog.csdn.net/whucyl/article/details/9101563