마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

사진 다중 선택을 하고싶습니다

0 추천
이소스에서 사진을 다중으로 선택해서 그 선택된 목록을 자료구조에 담고 싶은데.
사진을 하나뿐이 선택을 못하겠습니다. ㅜㅜ 도와주세여~~
 
 
public class PictureCtrlActivity extends Activity {
static int REQUEST_PICTURE = 1;
static int REQUEST_PHOTO_ALBUM = 2;
static String SAMPLEIMG = "photo.png";
 
    /** Called when the activity is first created. */
Context mContext = this;
ImageView iv;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        iv = (ImageView) findViewById(R.id.imgView);
    }
    
    //button 클릭
    Dialog dialog;
    public void onClickImg(View v) {
    switch(v.getId()) {
    case R.id.getCustom:
    AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
    View customLayout = View.inflate(mContext, R.layout.custom_button, null);
    builder.setView(customLayout);
    dialog = builder.create();
    dialog.show();
    break;
    case R.id.camera:
    dialog.dismiss();
    takePicture();
    break;
    case R.id.photoAlbum:
    dialog.dismiss();
    photoAlbum();
    break;
    }
    }
    
    //사진 촬영
  void takePicture() {
  //카메라 호출 intent 생성
  Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  File file = new File(Environment.getExternalStorageDirectory(), SAMPLEIMG);
  intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
  startActivityForResult(intent, REQUEST_PICTURE);
  }
 
  //사진 불러오기
  void photoAlbum() {
  //photo Album 호출 intent 생성
  Intent intent = new Intent(Intent.ACTION_PICK);
 
  intent.setType(Images.Media.CONTENT_TYPE);
  intent.setData(Images.Media.EXTERNAL_CONTENT_URI);
  startActivityForResult(intent, REQUEST_PHOTO_ALBUM);
  }
 
  //촬영한 사진을 수정하기 위해서
  Bitmap loadPicture() {
  File file = new File(Environment.getExternalStorageDirectory(), SAMPLEIMG);
  BitmapFactory.Options option = new BitmapFactory.Options();
  option.inSampleSize = 4;
  return BitmapFactory.decodeFile(file.getAbsolutePath(), option);
  }
 
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  // TODO Auto-generated method stub
  super.onActivityResult(requestCode, resultCode, data);
 
  if(resultCode != RESULT_OK)
  return;
 
  if(requestCode == REQUEST_PICTURE) {
  iv.setImageBitmap(loadPicture());
  }
 
  if(requestCode == REQUEST_PHOTO_ALBUM) {
  iv.setImageURI(data.getData());
  }
  }
}
별벼하늘 (440 포인트) 님이 2013년 9월 5일 질문

1개의 답변

0 추천

ACTION_PICK 이거 자체가 사진을 하나만 선택하는 갤러리 호출입니다

제가알기로는 다중선택을 하시려면 직접 만드셔야할겁니다  시중에 오픈소스로 되어있는것 많으니

참조하시고 커스텀하시면 쉽게 구현하실거 같습니다

 

건방진프로그래머 (26,630 포인트) 님이 2013년 9월 5일 답변
...