Kimsenin bundan bahsetmediği için şok oldum, ancak dikkatli olun, android:onClick
XML tıklamayı işlemek için uygun bir yol gibi görünse de, setOnClickListener
uygulama onClickListener
. Aslında, view özelliğini clickable
true yaptı.
Çoğu Android uygulamasında sorun olmasa da, telefon kurucusuna göre düğme her zaman varsayılan olarak tıklanabilir = true'dur, ancak bazı telefon modellerinde diğer yapıcıların Button olmayan görünümlerde varsayılan bir tıklanabilir = false değeri olabilir.
Bu nedenle, XML'i ayarlamak yeterli değildir, her zaman android:clickable="true"
non-button eklemek için düşünmeniz gerekir ve varsayılanın tıklanabilir = true olduğu bir cihazınız varsa ve bu XML özelliğini koymayı bir kez bile unutursanız, fark etmezsiniz sorun, çalışma zamanında ancak müşterilerinizin eline geçtiğinde piyasadan geri bildirim alacaksınız!
Ek olarak, proguard'ın XML özniteliklerini ve sınıf yöntemini nasıl gizleyeceğinden ve yeniden adlandıracağından asla emin olamayız, bu nedenle bir gün asla bir hatayla karşılaşmayacakları için% 100 güvenli değil.
Bu nedenle, asla sorun yaşamak istemezseniz ve bunu asla düşünmezseniz, setOnClickListener
ButterKnife gibi ek açıklamalı kütüphaneleri kullanmak daha iyidir@OnClick(R.id.button)
onclick
Her sınıfın bu yöntemi uyguladığından emin olmanız gerektiğinden , xml'yi kullanırken dikkatli olmalısınız . Bu, düzeni birden çok kez kullandığınızı varsayar. Ancak, yöntemin onu uygulayan tüm sınıflarda olmasını sağlamak için bir java arayüzüne sahip olsaydınız, endişelenmenize gerek kalmazdı.