2017-12-05 6 views
-1
ImageView imageView = (ImageView) findViewById(R.id.Gallery); 
    imageView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent galleryIntent = new Intent(Intent.ACTION_PICK, 
        android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
      // Start the Intent 
      startActivityForResult(galleryIntent, RESULT_LOAD); 

     } 
    }); 

} 
    @Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    // When an Image is picked 
    if (requestCode == RESULT_LOAD && resultCode == RESULT_OK 
      && null != data) { 
     // Get the Image from data 

     Uri imageUri = data.getData(); 
     InputStream imageStream = null; 
     try { 
      imageStream = getContentResolver().openInputStream(imageUri); 
      ImageView imageView = (ImageView) findViewById(R.id.Gallery); 
      imageView.setImageBitmap(BitmapFactory.decodeStream(imageStream)); 
     } catch (FileNotFoundException e) { 
      // Handle the error 
     } finally { 
      if (imageStream != null) { 
       try { 
        imageStream.close(); 
       } catch (IOException e) { 
        // Ignore the exception 
       } 
      } 
     } 
    } 

} 

이 코드는 하나의 imageView에 이미지를 추가하고 이미지를 잘 표시합니다. 내가 얻을 수있는 방법 그것은 단지 이미지를 선택 한 번 대신 스트림에서 Bitmap 만들기 모든 이미지 뷰갤러리에서 1 이미지를 선택하고 여러 ImageViews에 표시

+0

한 번 갤러리를 형성하여 한 번에 여러 장의 사진을 선택 하시겠습니까? 또는 단일 사진. 확실히 해 . – ADM

+0

당신은 제대로 읽지 못한다. –

+1

나는 그것을 읽는다. 그게 내가 왜 물었습니다. 문제는 분명하지 않습니다. 지금은 [Duplicate] (https://stackoverflow.com/questions/23426113/how-to-select-multiple-images-from-gallery-in-android)처럼 보입니다. – ADM

답변

0

마 코드 :

여기
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
super.onActivityResult(requestCode, resultCode, data); 
// When an Image is picked 
if (requestCode == RESULT_LOAD && resultCode == RESULT_OK 
     && null != data) { 
    // Get the Image from data 

    Uri imageUri = data.getData(); 
    InputStream imageStream = null; 
    try { 
     imageStream = getContentResolver().openInputStream(imageUri); 
     ImageView imageView = (ImageView) findViewById(R.id.Gallery); 

    imageView.setImageBitmap(BitmapFactory.decodeStream(imageStream)); 
    imageView1.setImageBitmap(BitmapFactory.decodeStream(imageStream)); 
    imageView2.setImageBitmap(BitmapFactory.decodeStream(imageStream)); 
    imageView3.setImageBitmap(BitmapFactory.decodeStream(imageStream)); 
    } catch (FileNotFoundException e) { 
     // Handle the error 
    } finally { 
     if (imageStream != null) { 
      try { 
       imageStream.close(); 
      } catch (IOException e) { 
       // Ignore the exception 
      } 
     } 
    } 
} 

, 이미지 뷰, imageView1, imageView2, imageView3는 다른 이미지보기의 예입니다.

감사합니다. & 도움이 더 필요하면 알려주세요.

편집 :

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
super.onActivityResult(requestCode, resultCode, data); 
// When an Image is picked 
if (requestCode == RESULT_LOAD && resultCode == RESULT_OK 
    && null != data) { 
    // Get the Image from data 

    Uri imageUri = data.getData(); 
    InputStream imageStream = null; 
    try { 
    imageStream = getContentResolver().openInputStream(imageUri); 
    Bitmap bitmap = BitmapFactory.decodeStream(imageStream); 


      imageView.setImageBitmap(bitmap); 
      imageView1.setImageBitmap(bitmap); 
      imageView2.setImageBitmap(bitmap); 
      imageView3.setImageBitmap(bitmap); 
} catch (FileNotFoundException e) { 
    // Handle the error 
} finally { 
    if (imageStream != null) { 
     try { 
      imageStream.close(); 
     } catch (IOException e) { 
      // Ignore the exception 
     } 
    } 
} 

}

EDITED 2 :

public class ThirdJavaActivity extends Activity { 

ImageView imageView,imageView1,imageView2,imageView3; 

@Override 
protected void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.content_third); 

    imageView = (ImageView)findViewById(R.id.imageView); 
    imageView1 = (ImageView)findViewById(R.id.imageView1); 
    imageView2 = (ImageView)findViewById(R.id.imageView2); 
    imageView3 = (ImageView)findViewById(R.id.imageView3); 

    Intent galleryIntent = new Intent(Intent.ACTION_PICK, 
      android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
    // Start the Intent 
    startActivityForResult(galleryIntent, 101); 

} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
// When an Image is picked 
    if (requestCode == 101 && resultCode == RESULT_OK 
      && null != data) { 
     // Get the Image from data 

     Uri imageUri = data.getData(); 
     InputStream imageStream = null; 
     try { 
      imageStream = getContentResolver().openInputStream(imageUri); 

      Bitmap bitmap = BitmapFactory.decodeStream(imageStream); 

      imageView.setImageBitmap(bitmap); 
      imageView1.setImageBitmap(bitmap); 
      imageView2.setImageBitmap(bitmap); 
      imageView3.setImageBitmap(bitmap); 
     } catch (Exception e) { 
      // Handle the error 
     } finally { 
      if (imageStream != null) { 
       try { 
        imageStream.close(); 
       } catch (IOException e) { 
        // Ignore the exception 
       } 
      } 
     } 
    } 
} 
} 
+0

이 코드를 직접 사용해 보지 않으셨습니까? 당신은 그것이 작동하지 않는다는 것을 발견했을 것입니다. – greenapps

+0

수정 된 답변으로 시도하십시오 –

+0

수정 된 답변은 제 대답과 같습니다. 부끄러운 줄 알아라! – greenapps

0
How can i get it to be displayed in multiple imageViews by just selecting an image 

의 과정을 반복하여 여러 imageViews에 표시합니다.

그런 다음 원하는만큼 이미지보기에 비트 맵을 할당하십시오. 이 같은

관련 문제