代码之家  ›  专栏  ›  技术社区  ›  Peyu

Android 4.0在imageView中加载图像后挤压

  •  -1
  • Peyu  · 技术社区  · 7 年前

    活动:

    package com.example.peyu.bellatrix_01b;
    
    import android.content.Intent;  
    import android.net.Uri;
    import android.provider.MediaStore;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ImageView;
    
    public class ImageActivity extends AppCompatActivity {
    
    public final static String TAG_LOG = ImageActivity.class.getSimpleName();
    public static final int PICK_IMAGE = 100;
    public Uri imageURI;
    public ImageView imgPicture;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_image);
    
        Button btnAbrirImagen = (Button) findViewById(R.id.btnAbrirImagen);
        ImageView imgPicture = (ImageView) findViewById(R.id.imgPicture);
    
    }
    
    public void AbrirImagen(View v) {
    
        Intent photoPickerIntent= new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
        startActivityForResult(photoPickerIntent, PICK_IMAGE);
    
    }
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    
    
        if(resultCode == RESULT_OK && requestCode == PICK_IMAGE){
    
            imageURI = data.getData();
            imgPicture.setImageURI(imageURI);
    
        }
    
    
    }
    }
    

    我知道结果代码是a-1,但我不知道为什么。。。有什么想法吗??非常感谢。

    09-01 22:34:50.145 20063-20063/com。实例裴。bellatrix_01b W/dalvikvm:threadid=1:线程退出,但出现未捕获异常(组=0x41a53c98) 09-01 22:34:50.145 20063-20063/com。实例裴。bellatrix_01b W/dalvikvm:threadid=1:发生未捕获异常 09-01 22:34:50.146 20063-20063/com。实例裴。bellatrix_01b,带系统。错误:在android上。应用程序。活动线程。deliverResults(ActivityThread.java:3592) 09-01 22:34:50.146 20063-20063/com。实例裴。bellatrix_01b,带系统。错误:在android上。应用程序。活动线程。handleSendResult(ActivityThread.java:3635) 09-01 22:34:50.146 20063-20063/com。实例裴。bellatrix_01b,带系统。错误:在android上。应用程序。活动线程。access$1300(ActivityThread.java:151) 09-01 22:34:50.146 20063-20063/com。实例裴。bellatrix_01b,带系统。错误:在android上。应用程序。ActivityThread$H.handleMessage(ActivityThread.java:1390) 09-01 22:34:50.146 20063-20063/com。实例裴。bellatrix_01b,带系统。错误:在android上。操作系统。处理程序。dispatchMessage(Handler.java:110) 09-01 22:34:50.146 20063-20063/com。实例裴。bellatrix_01b,带系统。错误:在android上。操作系统。活套。循环(Looper.java:193) 09-01 22:34:50.147 20063-20063/com。实例裴。bellatrix_01b,带系统。错误:在java。郎。反思。方法invokenactive(本机方法) 09-01 22:34:50.147 20063-20063/com。实例裴。bellatrix_01b,带系统。错误:在java。郎。反思。方法调用(方法.java:515) 09-01 22:34:50.147 20063-20063/com。实例裴。bellatrix_01b,带系统。错误:在com。安卓内部的操作系统。ZygoteInit$MethodandArgscaler。运行(ZygoteInit.java:824) 09-01 22:34:50.147 20063-20063/com。实例裴。bellatrix_01b,带系统。呃:在dalvik。系统国家艺术。主(本机方法) 09-01 22:34:50.151 20063-20063/com。实例裴。bellatrix_01b,带系统。错误:在android上。应用程序。活动dispatchActivityResult(Activity.java:5535) 09-01 22:34:50.151 20063-20063/com。实例裴。bellatrix_01b,带系统。错误:在android上。应用程序。活动线程。deliverResults(ActivityThread.java:3588) 09-01 22:34:50.151 20063-20063/com。实例裴。bellatrix_01b W/dalvikvm:threadid=1:调用UncaughtExceptionHandler 09-01 22:34:50.157 20063-20063/com。实例裴。bellatrix_01b E/AndroidRuntime:致命异常:main 过程:com。实例裴。bellatrix_01b,PID:20063 Java语言lang.RuntimeException:未能传递结果ResultInfo{who=null,请求=100,结果=-1,数据=Intent{dat=content://media/external/images/media/89391flg=0x1}}到活动{com.example.peyu.bellatrix\u 01b/com.example.peyu.bellatrix\u 01b.ImageActivity}:java。lang.NullPointerException 在安卓。应用程序。活动线程。handleSendResult(ActivityThread.java:3635) 在安卓。应用程序。活动线程。access$1300(ActivityThread.java:151) 在安卓。应用程序。ActivityThread$H.handleMessage(ActivityThread.java:1390) 在安卓。操作系统。活套。循环(Looper.java:193) 在java。郎。反思。方法invokenactive(本机方法) 在java。郎。反思。方法调用(方法.java:515) 在com。安卓内部的操作系统。ZygoteInit$MethodandArgscaler。运行(ZygoteInit.java:824) 原因:java。lang.NullPointerException 在安卓。应用程序。活动线程。deliverResults(ActivityThread.java:3588) 在安卓。应用程序。活动线程。handleSendResult(ActivityThread.java:3635) 在安卓。应用程序。活动线程。access$1300(ActivityThread.java:151) 在安卓。应用程序。ActivityThread$H.handleMessage(ActivityThread.java:1390) 在安卓。操作系统。处理程序。dispatchMessage(Handler.java:110) 在java。郎。反思。方法invokenactive(本机方法) 在java。郎。反思。方法调用(方法.java:515) 在com。安卓内部的操作系统。合子岩。main(ZygoteInit.java:640) 在dalvik。系统国家艺术。主(本机方法)

    2 回复  |  直到 7 年前
        1
  •  3
  •   mnp343    7 年前
    1. 您可能不知道新的uri权限模型。

        2
  •  0
  •   THANN Phearum    7 年前

    当你打电话时,问题就出现了 setImageURI ImageView 我建议您使用下面的库。该库将帮助您从该imageURI创建图像文件。

    EasyImage