Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Mendapatkan ID Sumber Android dan Rentetan Sepadan dengannya?

Bagaimanakah Saya Boleh Mendapatkan ID Sumber Android dan Rentetan Sepadan dengannya?

Mary-Kate Olsen
Lepaskan: 2024-12-31 17:49:10
asal
846 orang telah melayarinya

How Can I Efficiently Retrieve Android Resource IDs and Their Corresponding Strings?

Bagaimana untuk Mendapatkan ID Sumber dan Rentetan daripada Fail Sumber Android?

Dalam pembangunan Android, adalah perlu untuk menghantar ID sumber kepada kaedah dalam kelas. Biasanya, pembangun memerlukan kedua-dua ID dan rentetan yang sepadan yang dikaitkan dengan sumber itu. Contoh biasa situasi ini timbul apabila bekerja dengan imej boleh dilukis.

Pertimbangkan ID sumber R.drawable.icon, yang mewakili imej ikon. Untuk menggunakan kedua-dua ID dan "ikon" rentetan, pelbagai pendekatan boleh diterokai:

Satu penyelesaian melibatkan penggunaan kaedah Resources.getIdentifier():

int resId = getResources().getIdentifier("icon", "drawable", packageName);
Salin selepas log masuk

Di sini, getResources() merujuk kepada objek konteks, packageName ialah nama pakej aplikasi dan "ikon" mewakili pengecam rentetan. Walau bagaimanapun, kaedah ini boleh menjadi agak perlahan, terutamanya dalam binaan keluaran dengan pengecutan kod/sumber didayakan.

Pendekatan alternatif ialah menggunakan refleksi untuk mengakses medan sumber yang dikehendaki:

Class resClass = R.drawable.class;
Field field = resClass.getDeclaredField("icon");
int id = field.getInt(null);
Salin selepas log masuk

Ini kaedah terus mengakses medan sumber, menawarkan prestasi yang lebih pantas daripada pendekatan sebelumnya. Walau bagaimanapun, ia mungkin menghadapi masalah sekiranya sumber mengecut atau apabila nama sumber berbeza daripada pengecam rentetan.

Pertimbangan Tambahan:

Apabila menggunakan refleksi, adalah penting untuk diperhatikan bahawa pengecutan kod/sumber boleh menyebabkan pendekatan tidak berkesan dalam binaan keluaran. Selain itu, beberapa sumber, seperti rentetan yang ditakrifkan menggunakan , mungkin tidak mempunyai nama medan yang sepadan dengan pengecam rentetan sebenar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan ID Sumber Android dan Rentetan Sepadan dengannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan