Я повторно использую ImageView
s для своих дисплеев, но в какой-то момент у меня нет значений, чтобы выразить это.
Так как очистить ImageView
Android?
Я пробовал:
mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);
Никто из них не очистил вид, он все еще показывает предыдущее изображение.
Ответы:
Я делал это с помощью решения dennis.sheppard :
это работает, но не документировано, поэтому не совсем понятно, влияет ли это на что-то другое в представлении (вы можете проверить код ImageView, если хотите, я этого не сделал).
Я думаю, что лучшее решение:
Мне больше всего нравится это решение, потому что нет ничего сложного в восстановлении состояния, и также ясно, что оно делает.
источник
viewToUse.setImageResource(0);
не сработало, ноviewToUse.setImageResource(android.R.color.transparent);
сработало.У меня была похожая проблема, когда мне нужно было полностью удалить ImageViews с экрана. Некоторые ответы здесь привели меня в правильном направлении, но в конечном счете вызов setImageDrawable () сработал для меня:
(Как упомянуто в комментарии, такое использование задокументировано в официальных документах: ImageView # setImageDrawable .)
источник
Я знаю, что это старый, но я смог сделать это с
Не похоже, что это должно работать, но я попробовал это по прихоти, и это сработало отлично.
источник
Похоже, что вы хотите, это изображение по умолчанию, чтобы установить ImageView, когда он не отображает другое изображение. Вот как приложение «Контакты» делает это:
источник
Я попытался это для очистки Image и DrawableCache в ImageView
Я надеюсь, что это работает для вас!
источник
Если ни одно из этих решений не очищает изображение, которое вы уже установили (особенно
setImageResource(0)
илиsetImageResources(android.R.color.transparent)
, проверьте, чтобы текущее изображение не использовалось в качестве фонаsetBackgroundDrawable(...)
или что-то подобное.Ваш код просто установит ресурс изображения на переднем плане на что-то прозрачное перед заданным фоновым изображением и все равно будет отображаться.
источник
Эй, я знаю, что очень опоздал на этот ответ, но подумал, что должен поделиться этим,
Метод, который вызывается при сбросе изображения, должен быть тем же методом, который вы вызывали во время его установки.
Когда вы хотите сбросить источник изображения @ dennis.sheepard, ответ работает нормально, только если вы изначально устанавливаете изображение в растровое изображение, используя
setImageResource()
например,
Я использовал
setImageBitmap()
и, следовательно, установкаsetImageResource(0)
не работает, вместо этого я использовалsetImageBitmap(null)
.источник
если вы используете скольжение, вы можете сделать это следующим образом.
источник
Я смог добиться этого, определив drawable (что-то вроде blank_white_shape.xml):
Затем, когда я хочу очистить вид изображения, я просто звоню
Это прекрасно работает для меня!
источник
Для изображения элемента ListView вы можете установить
ImageView.setVisibility(View.INVISIBLE)
илиImageView.setImageBitmap(null)
в списке адаптер для случая «без изображения».источник
Как Kwasi писал и Golu отредактированный, вы можете использовать прозрачный, а не белый:
файл
drawable/transparent.xml
Внутри деятельности, просмотра и т. Д.
источник
Это работает для меня.
Это вылетает во время выполнения.
источник
Для удаления изображения в ImageView используйте:
title_image.setImageResource(-1);
у меня это работает
источник
Если вы используете библиотеку поддержки, вы получаете
AppCompatImageView
вместо нееImageView
, которая поддерживаетsetImageResource(0)
на всех устройствах, так что вы должны хорошо использовать ее так же, как использованиеsetImageDrawable(null)
иsetImageBitmap(null)
В противном случае он должен работать нормально, начиная с какой-то версии Android. В соответствии с кодом Android и в соответствии с моими тестами, я думаю, что это должно быть безопасно использовать
setImageResource(0)
из Android API 22 (5.1). Вы можете увидеть код Android API 22 против API 21, здесьисточник
Я столкнулся с той же проблемой, я изменил цвет фона представления на цвет фона макета, вы можете сделать так:
// затем устанавливаем изображение
источник
Я пытался удалить изображение из ImageView тоже с помощью,
ImageView.setImageRessource(0)
но у меня не получилось.К счастью, я получил это сообщение в журналах:
Итак, скажем,
layoutmanager
ваш экземпляр для макета, чем вам нужно сделать это:источник
Могу ли я просто указать, что вы все пытаетесь установить, и там, где его ожидают рисовать.
разве вы не должны делать следующее?
источник