2016-11-17 3 views
0

Я использую библиотеку this, но они не объясняли все детали, как другие библиотеки на github.Как установить изображение из Image Arraylist?

в OnCreate

ImagePicker.create(this) 
      .folderMode(true) // folder mode (false by default) 
      .folderTitle("Folder") // folder selection title 
      .imageTitle("Tap to select") // image selection title 
      .single() // single mode 
      // multi mode (default mode) 
      .limit(10) // max images can be selected (99 by default) 
      .showCamera(true) // show camera or not (true by default) 
      .imageDirectory("Camera") // directory name for captured image ("Camera" folder by default) 
      // original selected images, used in multi mode 
      .start(12); // start image picker activity with request code 

Он работает, я могу увидеть галерею.

onActivityResult:

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

     ImageView imageview = (ImageView)findViewById(R.id.iv1); 
     if (requestCode == 12 && resultCode == RESULT_OK && data != null) { 
      ArrayList<Image> images = data.getParcelableArrayListExtra(ImagePickerActivity.INTENT_EXTRA_SELECTED_IMAGES); 
      // do your logic .... 
      imageview.setImageBitmap(images);//It is not working, I know it is not bitmap but how to set? 
     } 
    } 

Наконец, как установить ImageView?

+0

Вы не можете установить изображение в виде массива изображений, вы можете установить только изображение, чтобы иметь одно изображение в качестве источника. Кроме того, похоже, что вы обрабатываете свои изображения в основной теме, что тоже не очень хорошая идея. –

+0

Итак, в чем причина этой библиотеки? –

+0

Разве это не работает для моей цели? –

ответ

0

Вы не можете установить вид изображения на аррайалист изображений, вы можете установить только изображение, чтобы иметь одно изображение в качестве источника.

Кроме того, похоже, что вы обрабатываете свои изображения в основной теме, что тоже не очень хорошая идея.

ваши изображения находятся в массиве, но вы должны использовать их на несколько представлений изображения или настраиваемое представление, которое отображает несколько изображений

+0

Спасибо за ответ. В наши дни никто не отвечает на мои вопросы в SO. Производительность - это наименее важная вещь для этого приложения, возможно, я запустил этот код в фоновом потоке. Эта библиотека не работает для моей цели? Есть ли способ для моей цели? –

+1

Есть много учебников. вот один я нашел, выполнив поиск «галереи изображений изображений android». http://www.androidinterview.com/android-gallery-view-example-displaying-a-list-of-images/ –

+0

Но его тип Integer в этом типе библиотеки - это изображение, оно не работает –

0
private Bitmap getScreenshot(Image image) { 

    Image.Plane[] planes = image.getPlanes(); 
    ByteBuffer buffer = planes[0].getBuffer(); 

    int pixelStride = planes[0].getPixelStride(); 
    int rowStride = planes[0].getRowStride(); 
    int rowPadding = rowStride - pixelStride * mWidth; 

    // ??????Bitmap??? 
    Bitmap bitmap = Bitmap.createBitmap(mWidth + rowPadding/pixelStride, mHeight, Bitmap.Config.RGB_565); 
    bitmap.copyPixelsFromBuffer(buffer); 
    image.close(); 

    return bitmap; 
} 

Изображение ресурса, а не изображения, но вы можете использовать выше API для получить bitmap с помощью ByteBuffer. Пройдите images.get (позиция) в getScreenshot (изображение изображения). он будет возвращать растровое изображение, а затем просто установить imageView.setImageBitmap (bitmap) Example link

Смежные вопросы