Saya membuat string dari database secara dinamis yang memiliki nama gambar yang sama di drawable
folder.
Sekarang saya ingin menetapkan nilai itu untuk ImageView
digunakan setImageDrawable(R.id.StringGenerated)
secara dinamis.
Ada Saran ..
android
android-widget
Arun
sumber
sumber
Jawaban:
Coba ini,
Ini akan mengembalikan id drawable yang ingin Anda akses ... lalu Anda dapat menyetel gambar di imageview dengan melakukan hal berikut
sumber
atau
sumber
Saya pribadi lebih suka menggunakan cara
setImageResource()
seperti ini.sumber
Nama resource drawable tidak disimpan sebagai string, jadi Anda harus menyelesaikan string tersebut menjadi konstanta integer yang dihasilkan selama pembuatan. Anda dapat menggunakan
Resources
kelas untuk menyelesaikan string menjadi integer itu.Ini menyelesaikan string yang Anda buat menjadi bilangan bulat yang
ImageView
dapat digunakan untuk memuat gambar yang benar.Alternatifnya, Anda bisa menggunakan id untuk memuat
Drawable
secara manual, lalu menyetel gambar menggunakan drawable tersebut, bukan ID resource.sumber
Sesederhana jawaban ini:
sumber
Ini berfungsi, setidaknya di Android API 15
Anda bisa menggunakan setImageResource (), tetapi dokumentasinya menetapkan bahwa "melakukan pembacaan dan dekode Bitmap pada thread UI, yang bisa menyebabkan cegukan latensi ... pertimbangkan untuk menggunakan setImageDrawable () atau setImageBitmap ()." seperti yang dinyatakan oleh chetto
sumber
Semua jawaban yang diposting tidak berlaku hari ini. Misalnya, getDrawable () tidak digunakan lagi. Ini jawaban terbaru, hai!
Dari metode terdokumentasi
sumber
Anda dapat mencoba menggunakan kode ini:
sumber
Jika Anda tidak bisa mendapatkan objek Resources seperti ini di kelas yang bukan Activity, Anda harus menambahkan metode getContext () untuk getResources () misalnya
sumber
imageView.setImageDrawable(getResources().getDrawable(R.drawable.my_drawable));
sumber
Anda juga dapat menggunakan sesuatu seperti:
imageView.setImageDrawable(ActivityCompat.getDrawable(getContext(), R.drawable.generatedID));
atau menggunakan Picasso:
Picasso.with(getContext()).load(R.drawable.generatedId).into(imageView);
sumber
Saya memiliki masalah yang sama seperti Anda dan saya melakukan hal berikut untuk menyelesaikannya:
sumber
Buat kelas POJO.java dan buat "metode konstruktor, pengambil & penyetel"
Kemudian siapkan adaptor melalui sumber daya gambar yang dapat digambar ke CustomAdapter.java
Kemudian teruskan referensi melalui ActivityClass.java
sumber
bagian dari proyek saya, semuanya bekerja! )
sumber
btnImg.SetImageDrawable (GetDrawable (Resource.Drawable.button_round_green));
API 23 Android 6.0
sumber
File 'R' tidak dapat dibuat pada saat aplikasi dijalankan. Anda dapat menggunakan beberapa alternatif lain seperti menggunakan
if-else
atauswitch-case
sumber
R
lagi