加载图像后的Android 4.0迷恋查看

问题描述:

我是Android Studio新手,我试图制作一个简单的应用程序。我希望它是从图库中选择一个图像并在imageView中显示它。 这是我到现在为止:加载图像后的Android 4.0迷恋查看

活动:

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); 

    } 


} 
} 

据我所知,resultCode为是得到一个-1,但我不知道为什么...任何想法?谢谢

这在目录下载:

09-01 22:34:50.145 20063-20063/com.example.peyu.bellatrix_01b W/dalvikvm:线程ID = 1:螺纹与未捕获的异常(组离开= 0x41a53c98) 09-01 22:34:50.145 20063-20063/com.example.peyu.bellatrix_01b W/dalvikvm:threadid = 1:发生未捕获异常 09-01 22:34:50.146 20063-20063/com.example。 peyu.bellatrix_01b W/System.err:java.lang.RuntimeException:传递结果失败ResultInfo {who = null,request = 100,result = -1,data = Intent {dat = content:// media/external/images/media/89391 flg = 0x1}}到活动{com.example.peyu.bellatrix_01b.ImageActivity}:java.lang.NullPointerException 09 -01 22:34:50.146 20063-20063/com.example.peyu.bellatrix_01b W/System.err:at android.app.ActivityThread.deliverResults(ActivityThread.java:3592) 09-01 22:34:50.146 20063- 20063/com.example.peyu.bellatrix_01b W/System.err:at android.app.ActivityThread.handleSendResult(ActivityThread.java:3635) 09-01 22:34:50.146 20063-20063/com.example.peyu.bellatrix_01b W/System.err:at android.app.ActivityThread.access $ 1300(ActivityThread.java:151) 09-01 22:34:50.146 20063-20063/com.example.peyu.bellatrix_01b W/System.err:at android .app.ActivityThread $ H.handleMessage(ActivityThread.java:1390) 09-01 22:34:50.146 20063-20063/com.example.peyu.bellatrix_01b W/System.err:at android.os.Handler.dispatchMessage( Handler.java:110) 09-01 22:34:50.146 20063-20063/com.example.peyu.bellatrix_01b W/System.err:在android.os.Looper.loop(Looper.java:193 ) 09-01 22:34:50.147 20063-20063/com.example.peyu.bellatrix_01b W/System.err:at android.app.ActivityThread.main(ActivityThread.java:5333) 09-01 22:34: 50.147 20063-20063/com.example.peyu.bellatrix_01b W/System.err:at java.lang.reflect.Method.invokeNative(Native Method) 09-01 22:34:50.147 20063-20063/com.example.peyu .bellatrix_01b W/System.err:at java.lang.reflect.Method.invoke(Method.java:515) 09-01 22:34:50.147 20063-20063/com.example.peyu.bellatrix_01b W/System.err :at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:824) 09-01 22:34:50.147 20063-20063/com.example.peyu.bellatrix_01b W/System.err:at com .android.internal.os.ZygoteInit.main(ZygoteInit.java:640) 09-01 22:34:50.147 20063-20063/com.example.peyu.bellatrix_01b W/System.err:at dalvik.system.NativeStart .main(本地方法) 09-01 22:34:50.147 20063-20063/com.example.peyu.bellatrix_01b W/System.err:引起:java.lang.NullPointerException 09-01 22:34:50.150 20063 -20063/com.example.peyu.bellatrix_01b W/System.err:at com.example.peyu.bellatrix_01b.ImageActivity.onActivityResult(ImageActivity.java:70) 09-01 22:34:50.151 20063-20063/com。 example.peyu.bellatrix_01b W/System.err:at android.app.Activity.dispatchActivityResult(Activity.java:5535) 09-01 22:34:50.151 20063-20063/com.example.peyu.bellatrix_01b W/System。 err:at android.app.ActivityThread.deliverResults(ActivityThread.java:3588) 09-01 22:34:50.151 20063-20063/com.example.peyu.bellatrix_01b W/System.err:... 11更多 09 -01 22:34:50.151 20063-20063/com.example.peyu.bellatrix_01b W/dalvikvm:threadid = 1:调用UncaughtExceptionHandler 09-01 22:34:50.157 20063-20063/com.example.peyu.bellatrix_01b E/AndroidRuntime:致命例外:main 进程:com.example.peyu。bellatrix_01b,PID:20063 java.lang.RuntimeException:传递结果失败ResultInfo {who = null,request = 100,result = -1,data = Intent {dat = content:// media/external/images/media/89391 flg = 0x1}} to activity {com.example.peyu.bellatrix_01b/com.example.peyu.bellatrix_01b.ImageActivity}:java.lang.NullPointerException at android.app.ActivityThread.deliverResults(ActivityThread.java:3592) at android .app.ActivityThread.handleSendResult(ActivityThread.java:3635) at android.app.ActivityThread.access $ 1300(ActivityThread.java:151) at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1390) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5333) at java.lang.reflect.Method.invokeNative(Native Method) at java .lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:824) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:640) at dalvik.system.NativeStart.main(Native Method) 引起:java.lang.NullPointerException at com.example.peyu.bellatrix_01b.ImageActivity.onActivityResult(ImageActivity.java:70) 在android.app.Activity.dispatchActivityResult(Activity.java:5535) 在android.app.ActivityThread.deliverResults(ActivityThread.java:3588) 在android.app.ActivityThread.handleSendResult(ActivityThread.java:3635) 在android.app.ActivityThread.access $ 1300(ActivityThread.java:151) at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1390) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5333) at java.lan方法.invokeNative(本地方法) ) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640) 在dalvik.system.NativeStart.main(本机方法)

+0

它也行不通。该应用程序仍然暗恋。 – Peyu

  1. 您声明一个ImageView的,但不能初始化同一个ImageView的。

  2. 您可能不知道新的uri权限模型。

当你打电话的ImageViewsetImageURI的问题发生。 我建议你在下面使用这个库。该库将帮助您从该imageURI创建图像文件。

EasyImage