Saya menggunakan kembali ImageView
untuk tampilan saya, tetapi pada titik tertentu saya tidak memiliki nilai untuk meletakkannya.
Jadi bagaimana cara menghapus ImageView
di Android?
Saya sudah mencoba:
mPhotoView.invalidate();
mPhotoView.setImageBitmap(null);
Tak satu pun dari mereka yang membersihkan tampilan, masih menunjukkan gambar sebelumnya.
Jawaban:
Saya biasa melakukannya dengan solusi dennis.sheppard :
ini berfungsi tetapi tidak didokumentasikan sehingga tidak benar-benar jelas apakah itu memengaruhi sesuatu yang lain dalam tampilan (Anda dapat memeriksa kode ImageView jika Anda suka, saya tidak).
Saya pikir solusi terbaik adalah:
Saya suka solusi ini karena sebagian besar tidak ada yang rumit dalam mengembalikan negara dan juga jelas apa yang dilakukannya.
sumber
viewToUse.setImageResource(0);
tidak bekerja, tetapiviewToUse.setImageResource(android.R.color.transparent);
berhasil.Saya memiliki masalah yang sama, di mana saya pada dasarnya perlu menghapus ImageViews dari layar sepenuhnya. Beberapa jawaban di sini membawa saya ke arah yang benar, tetapi akhirnya memanggil setImageDrawable () bekerja untuk saya:
(Seperti disebutkan dalam komentar, penggunaan tersebut didokumentasikan dalam dokumen resmi: ImageView # setImageDrawable .)
sumber
Saya tahu ini sudah tua, tetapi saya bisa menyelesaikannya dengan ini
Sepertinya tidak akan berhasil, tetapi saya mencobanya sambil lalu, dan itu berhasil dengan sempurna.
sumber
Kedengarannya seperti yang Anda inginkan adalah gambar default untuk mengatur ImageView Anda ketika itu tidak menampilkan gambar yang berbeda. Beginilah aplikasi Kontak melakukannya:
sumber
Saya mencoba ini untuk menghapus Image dan DrawableCache di ImageView
Saya harap ini berhasil untuk Anda!
sumber
Jika tidak ada solusi ini yang menghapus gambar yang sudah Anda tetapkan (terutama
setImageResource(0)
atausetImageResources(android.R.color.transparent)
, periksa untuk memastikan gambar saat ini tidak ditetapkan sebagai latar belakang menggunakansetBackgroundDrawable(...)
atau sesuatu yang serupa.Kode Anda hanya akan mengatur sumber gambar di latar depan untuk sesuatu yang transparan di depan gambar latar yang telah Anda tetapkan dan masih akan ditampilkan.
sumber
Hei saya tahu saya sangat terlambat untuk jawaban ini, tetapi hanya berpikir saya harus membagikan ini,
Metode untuk memanggil ketika Anda mereset gambar harus sama dengan metode yang Anda panggil ketika Anda mengaturnya.
Ketika Anda ingin mengatur ulang sumber gambar @ dennis.sheepard jawab hanya berfungsi dengan baik jika Anda awalnya mengatur gambar dalam bitmap menggunakan
setImageResource()
misalnya,
Saya telah menggunakan
setImageBitmap()
dan karenanya pengaturansetImageResource(0)
tidak bekerja, sebaliknya saya menggunakansetImageBitmap(null)
.sumber
jika Anda menggunakan glide, Anda dapat melakukannya seperti ini.
sumber
Saya dapat mencapai ini dengan mendefinisikan drawable (sesuatu seperti blank_white_shape.xml):
Lalu ketika saya ingin menghapus tampilan gambar saya hanya menelepon
Ini bekerja dengan baik untuk saya!
sumber
Untuk gambar item ListView Anda dapat mengatur
ImageView.setVisibility(View.INVISIBLE)
atauImageView.setImageBitmap(null)
di adaptor daftar untuk kasus "tidak ada gambar".sumber
Saat kwasi menulis dan mengedit golu , Anda dapat menggunakan transparan, bukan putih:
Mengajukan
drawable/transparent.xml
Di dalam suatu kegiatan, lihat, dll:
sumber
Ini bekerja untuk saya.
Ini macet saat runtime.
sumber
Untuk menghapus gambar dalam penggunaan ImageView:
title_image.setImageResource(-1);
ini berfungsi untuk saya
sumber
Jika Anda menggunakan perpustakaan dukungan, Anda mendapatkan
AppCompatImageView
bukanImageView
, yang mendukungsetImageResource(0)
pada semua perangkat, sehingga Anda harus baik-baik dengan menggunakan dengan cara yang sama dengan menggunakansetImageDrawable(null)
dansetImageBitmap(null)
Kalau tidak, itu akan berfungsi dengan baik mulai dari beberapa versi Android. Menurut kode Android dan menurut tes saya, saya pikir itu harus aman digunakan
setImageResource(0)
dari Android API 22 (5.1). Anda dapat melihat kode Android API 22 vs API 21, di sinisumber
Saya menghadapi masalah yang sama saya mengubah warna latar belakang tampilan menjadi warna latar belakang tata letak yang dapat Anda lakukan seperti ini:
// lalu atur gambar
sumber
Saya mencoba untuk menghapus Image of ImageView juga dengan menggunakan
ImageView.setImageRessource(0)
tetapi tidak berhasil bagi saya.Untungnya saya mendapat pesan ini di log:
Jadi katakanlah,
layoutmanager
adalah contoh Anda untuk tata letak, daripada yang perlu Anda lakukan itu:sumber
Bisakah saya tunjukkan apa yang Anda semua coba atur dan int di mana itu mengharapkan drawable.
Anda tidak harus melakukan yang berikut?
sumber