2012-02-21 6 views
10

Współpracuję z jedną aplikacją, która ma jedną funkcjonalność do wybierania wielu obrazów z wbudowanego Androida: Gallery/Camera.Wybieranie wielu zdjęć w Galerii Androida

Galeria otwiera się pomyślnie, używając poniższego kodu.

Intent intent = new Intent(); 
intent.setType("image/*"); 
intent.setAction(Intent.ACTION_GET_CONTENT); 
startActivityForResult(Intent.createChooser(intent,"Select Picture"), SELECT_PICTURE); 

ale mogę wybrać tylko jedno zdjęcie z galerii. więc zasugeruj mi, jak wybrać wiele zdjęć z galerii wbudowanej.

Z góry dziękuję !!!

+0

Czy zauważyłeś, że masz co najmniej 2 duplikaty twojego pytania na temat stackoverflow? (http://stackoverflow.com/questions/3058922/select-multiple-images-using-galleryview) (http://stackoverflow.com/questions/4746661/select-multiple-images-from-photo-gallery- on-android-using-intents) –

Odpowiedz

1

Cóż, to stare pytanie, ale myślę, że to może być nadal przydatne dla kogoś. Właśnie wydałem kod źródłowy dla mojej wielokrotnej aktywności wyboru zdjęć. Można go znaleźć w następującym GitHub repo:

https://github.com/derosa/MultiImageChooser

Mam nadzieję, że to przydatne dla Ciebie!

+1

To jest dobre rozwiązanie. Nadal wymaga nieco poprawy, ponieważ nie jest płynniejszy podczas przewijania w dół/w górę. –

+0

@PareshMayani true, ale jest to związane z metodą żądania miniatur. Któregoś dnia przekodam go, żeby był asynchroniczny. –

+0

Zrobiłem to już :) Zostanie opublikowany artykuł na moim blogu. –

1
Cursor imagecursor1 = managedQuery(
    MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null, 
    null, orderBy + " DESC"); 

    this.imageUrls = new ArrayList<String>(); 
    imageUrls.size(); 

    for (int i = 0; i < imagecursor1.getCount(); i++) { 
    imagecursor1.moveToPosition(i); 
    int dataColumnIndex = imagecursor1 
    .getColumnIndex(MediaStore.Images.Media.DATA); 
    imageUrls.add(imagecursor1.getString(dataColumnIndex)); 
    } 

    options = new DisplayImageOptions.Builder() 
    .showStubImage(R.drawable.stub_image) 
    .showImageForEmptyUri(R.drawable.image_for_empty_url) 
    .cacheInMemory().cacheOnDisc().build(); 

    imageAdapter = new ImageAdapter(this, imageUrls); 

    gridView = (GridView) findViewById(R.id.PhoneImageGrid); 
    gridView.setAdapter(imageAdapter); 

Chcesz więcej wyjaśnień. http://mylearnandroid.blogspot.in/2014/02/multiple-choose-custom-gallery.html