从图库中选择图像时出现崩溃

时间:2015-08-18 22:21:44

标签: java android xml android-gallery

以下是代码,在选择图片时,应用突然崩溃:/ 请帮助,如果不修复此错误,我无法继续进展。

清单

<activity
        android:launchMode="singleTop"
        android:name=".FoundMenu"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="com.guruguru2.lostnfound.FOUNDMENU" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

ImageView XML

<ImageView
    android:id="@+id/imageView2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.71"
    android:src="@drawable/abc_list_divider_mtrl_alpha" />

.java文件

Button pickImageButton = (Button)findViewById(R.id.pick_image_button);
private static final int PICK_IMAGE = 100;
private ImageView imageView2;
pickImageButton.setOnClickListener(new OnClickListener() {
         @Override
         public void onClick(View v) {
            openGallery();
         }
      });




}
private void openGallery() {                     //opens the gallery
      Intent gallery = 
         new Intent(Intent.ACTION_PICK, 
         android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
      startActivityForResult(gallery, PICK_IMAGE);
   }
@Override
   protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      if (resultCode == RESULT_OK && requestCode == PICK_IMAGE) {
         Uri imageUri = data.getData();
         imageView2.setImageURI(imageUri);
      }
   }

logcat的

E/AndroidRuntime(1083): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=100, result=-1, data=Intent { dat=content://media/external/images/media/16 }} to activity {com.guruguru2.lostnfound/com.guruguru2.lostnfound.FoundMenu}: java.lang.NullPointerException 

这里的主要目标是从图库中选择一个图像,然后只显示它。如果需要我可以发布更多logcat,还有更多,这个错误似乎是最致命的。

2 个答案:

答案 0 :(得分:0)

您可能会尝试将意图从INTERNAL_CONTENT_URI更改为EXTERNAL_CONTENT_URI。

检查此stackoverflow URL以获取有关此问题的更多信息: Android get image from gallery into ImageView

答案 1 :(得分:0)

  

以下是代码,当选择图像时,应用程序突然崩溃

您忘记将视图设置为ImageView,如下所示:

imageView2 = (ImageView)findViewById(R.id.ImageView2);

然后您可以将图片设置为ImageView,但这并不意味着它可以解决您的问题,但它会导致您出现 MAIN 错误我可以看到代码。