2017-02-13 2 views
0

Я пытаюсь установить изображение на мой CircleImageView на Android API 23. Я получаю путь изображения из памяти устройства и сохранить эту строку путь к базе данных:setImageDrawable не установлен изображения на API23

<de.hdodenhof.circleimageview.CircleImageView 
    android:id="@+id/fragment_edit_picture" 
    android:layout_width="150dp" 
    android:layout_height="150dp" 
    android:layout_gravity="center" 
    android:layout_margin="5dp" 
    android:src="@mipmap/ic_launcher" 
    android:onClick="selectFromGallery" 
    app:civ_border_width="2dp" 
/> 

Он работает над API 19 и ранее, но не работает на виртуальном устройстве в Genymotion с версией API версии 23 Android. Выбранное изображение не отображается в ImageView. Я устанавливаю изображение в ImageView таким образом:

mCurrentImagePath = FileUtils.getPath(getActivity(), selectedImageUri); 
Log.d(TAG, "mCurrentImagePath: " + mCurrentImagePath); 

// Update client's picture 
if (mCurrentImagePath != null && !mCurrentImagePath.isEmpty()) { 
    fragmentEditPicture.setImageDrawable(new BitmapDrawable(getResources(), 
      FileUtils.getResizedBitmap(mCurrentImagePath, 512, 512))); 
} 

Путь изображение является mCurrentImagePath: /storage/emulated/0/Download/56836_(5-27-2006 2-28-40)(1920x1200).JPG.

Вы знаете, почему это не работает?

+1

Вы запросили необходимые разрешения во время выполнения? –

+0

@OgnianGloushkov No.It не получает никаких ошибок или исключений. Он просто не устанавливает изображение. –

ответ

1

Существует проблема с методом, который вы используете FileUtils.getResizedBitmap(). Я создал образец проекта для воспроизведения вашей проблемы. Он отлично работает в этом образцовом проекте. При использовании нижеприведенного фрагмента кода у вас не должно быть проблем с загрузкой изображений из памяти устройства.

+0

Recycle оригинальный 'bitmap' после использования. Сначала используйте «BitmapFactory.Options.inJustDecodeBounds». –

+0

@EugenPechanec приятель, извините, я не получил то, что вы сказали точно! Я новичок в android.this [FileUtils.getResizedBitmap()] (http://codepad.org/c33ilHxK). и в методе используются options.inJustDecodeBounds = false; что я точно понимаю, что я понимаю ваше предложение, я использовал этот способ [ссылка] (http://codepad.org/oiskWKwf) .but я получил ошибку [ссылка] (http://codepad.org/wqGYmUHx) . Извините и большое спасибо –

+0

'mCurrentImagePath' - мой путь к выбранному изображению не ури. –

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