У меня есть ImageView определить в XML, как выглядит следующим образом:setImageDrawable не имея эффекта без существующего контента
<ImageView
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"/>
Я пытаюсь установить содержание изображения динамически в коде, основываясь на определенных действиях пользователя (они выберите изображение из их библиотеки). Я установил изображение, используя следующий код:
ImageView bgView = (ImageView)root.findViewById(R.id.background);
Drawable d = Drawable.createFromPath(wallpaper);
bgView.setImageDrawable(d);
Вызов этого кода не оказывает немедленного воздействия на экземпляр ImageView. Однако, если я помещаю какой-то образ в определение XML, то вроде:
Он отлично работает. Кто-нибудь знает, что может быть причиной проблемы? Я проверил, что код настройки изображения работает в потоке пользовательского интерфейса и что созданный Drawable действителен. Проблема в том, что это может быть связано с неправильным выполнением макета, чтобы отразить добавленное изображение?
bgView.setImageDrawable (R.drawable.test_image) работает? – Leonidos
Извините, забудьте об этом упомянуть. Вызов setImageDrawable не может ничего сделать, даже если я выложу его из папки/res/drawable, если в XML не существует существующего содержимого. – TaylorP
Я думаю, что в этом случае может понадобиться больше кода. setImageDrawable отлично работает, не требуя установки в XML. Я предполагаю, что есть что-то, что может повлиять на ваши результаты, которые не являются частью кода. – dymmeh