Saya baru mengenal pengembangan Android. Apakah boleh menggunakan ID yang sama untuk gambar dan file XML yang TextViews
berbeda Layout
?
Ketika gerhana daftar otomatis untuk saya, itu mencantumkan semua variabel tata letak dari proyek, jadi apakah itu akan bertabrakan? Sampai sekarang saya belum melihat adanya masalah dalam menggunakan ID yang sama dalam tata letak yang berbeda, tetapi saya khawatir dalam jangka panjang.
android
android-layout
happyhardik
sumber
sumber
Jawaban:
Anda disarankan untuk menggunakan id yang berbeda untuk tata letak yang berbeda. Dalam jangka panjang, ketika Anda akan memiliki banyak tata letak dan karenanya banyak id akan menjadi sangat rumit untuk membedakannya.
Saya biasanya nama id saya seperti ini:
layoutName_elementId
.Berfungsi bagi saya untuk dengan mudah menemukan id yang saya cari, terutama saat menggunakan pelengkapan otomatis (saya tahu tata letak apa yang saya kerjakan, tapi saya tidak terlalu tahu id; dalam hal ini, dengan strategi penamaan saya, saya hanya ketik nama tata letak dan itu akan membawa semua id tata letak itu).
Informasi lebih lanjut tentang tata letak dan id dapat ditemukan di sini .
Selamat membuat kode,
sumber
ok_button
dalam setiap aktivitas Anda? Pelengkapan otomatis bahkan lebih jelas lagi jika Anda tahu obrolan yang Anda cari.Jawaban singkatnya: Ya, Anda bisa.
Jawaban panjang: Anda bisa melakukan ini karena setiap kali Anda menggunakan findViewById () untuk mendapatkan referensi ke bagian tata letak Anda, metode ini hanya mencari tampilan tersebut dalam tata letak yang saat ini dinaikkan. Jadi, meskipun Anda memiliki tampilan lain dengan ID yang sama di tata letak lain, Android tidak akan mencarinya di sana.
sumber
Menurut panduan API pengembang:
Jadi jawaban singkatnya adalah ini tidak wajib tetapi merupakan praktik yang baik untuk menghindari kemungkinan konflik.
sumber
Tidak disarankan, karena jika di masa mendatang Anda perlu melakukan refaktorisasi
view
id
, Android studio akan melakukan pemfaktoran ulang di semuaXML
file dan kelas dan Anda akan mendapat masalah.Tetapi ada juga beberapa kasus ketika Anda memang perlu menggunakan yang sama
id
misalnya jika Anda memiliki beberapa abstrak dan Anda menggunakan kembali beberapa tata letak.Jika Anda memiliki beberapa
views
dengan yang samaid's
dalam proyek Anda dan Anda perlu melakukan refactor, lakukan secara manual, jangan gunakan fungsi build in IDE, ubahid
dalam tampilan target di dalamXML
tata letak lalu perbaiki kesalahan merah di dalam tata letak.sumber