2017-02-16 1 views
0
System.out.println("weeeeeeeee"); 
try { 
    Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); 
    System.out.println("111111"); 
    System.out.println(Common.getIm1()); 
    Common.getIm1().setImageBitmap(thumbnail); 
} 
catch(Exception e) 
{ 
    System.out.println("dakfls" + e.getMessage()); 
} 

기본적으로 onactivityresult 함수에서 발생하는 상황은 다음과 같은 오류가 발생합니다. dakflsAttempt null 메소드 참조에서 가상 메소드 'java.lang.Object android.os.Bundle.get (java.lang.String)'을 호출합니다. 충돌은 1111 를 인쇄하기 전에 무슨 일이 일어나고 그리고 나는이 코드사진 갤러리의 Android 이미지

Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
startActivityForResult(i, 100); 

을 시도하고 당신이 얻을 것이다이

try 
{ 
    Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
    getActivity().startActivityForResult(i, 100); 
} 
catch(Exception e) 
{ 

} 
+0

다음에 원하는대로 이미지의 URI를 사용하는 이유는 시도 - 캐치 내부의 모든입니까? –

답변

0

처럼 내 조각에서 시작을 호출하고

축소판하지 전체 이미지가 필요 onActivityResult의 그림 경로 :

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     if (requestCode == 100 && resultCode == RESULT_OK && null != data) { 
      Uri selectedImage = data.getData(); 
      String[] filePathColumn = { MediaStore.Images.Media.DATA }; 
      Cursor cursor = getContentResolver().query(selectedImage,filePathColumn, null, null, null); 
      cursor.moveToFirst(); 
      int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
      String picturePath = cursor.getString(columnIndex); 
      cursor.close(); 
      ImageView imageView = (ImageView) findViewById(R.id.imgView); 
      imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath)); 
     } 
    } 
0

다만 제대로 당신이 IntentgetData()에있는 ACTION_PICK로부터 데이터를 수신하기 위해 컨텐트 리졸버

Uri dataUri = data.getData(); 
ContentResolver contentResolver = getContentResolver(); 
InputStream stream = contentResolver.openInputStream(dataUri); //if you sure this content Uri is refer a file 
BitmapFactory.decodeStream(stream); 
1

와 함께 반환 된 의도, 그 내용 스타일 열린 우리당 및 쿼리의 데이터를 사용하거나 열어야합니다.

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    switch (requestCode) { 
    case 100: 
     if (resultCode == RESULT_OK) { 
      Uri imageUri = data.getData(); 
      Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri); 
      Common.getIm1().setImageBitmap(bitmap); 
     } 
     break; 
    } 
} 

참고 :이처럼 당신은 당신의 클래스의 상단에 static final int에 코드 100을 넣어해야합니다.

0
photoBrowseButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      Intent intent = new Intent(Intent.ACTION_PICK, 
        MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
      startActivityForResult(intent, DataHolder.INTENT_BROWSE_GALLERY); 
     } 
    }); 

와 유

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == DataHolder.INTENT_BROWSE_GALLERY) { 
     if (data != null) { 
      Uri targetUri = data.getData(); 

     } 
    } 

} 
관련 문제