Soru Ebeveyn tıklanabilir hale getirmek, tüm alt öğeyi de tıklanabilir yapar mı?


Var LinearLayout çok sayıda çocuk unsurları ile. Bir kullanıcı bu alt öğelerin herhangi birine dokunduğunda, aynı yöntem çağrılır. Aynı şeyi uygulamamak için onClickListener her bir öğe için onClickListener ana LinearLayout için BİR TEK.

Artık, ebeveyn düzeninin sınırları içinde herhangi bir yere tıkladığımda, tüm alt öğeler için dinleyiciyi uygulamış olduğum gibi istenen yöntem çağrılıyor.

S: Uyguladığım zaman güvenebilir miyim onClickListener Ebeveyn için, tüm alt öğeleri tıklama etkinliğine tepki gösterecek mi?

S: Herhangi bir alt öğenin kendi kendine sahip olması durumunda ne olur? onClickListener? Bir çarpışma olabilir mi yoksa bu öğeye tıklamak sadece kendi tıklama olayını tetikler mi?


18
2017-11-15 10:40


Menşei


basılı düzen tüm çocuklarına yayılacak


Cevaplar:


İlk sorunuzu ikinci sorunuzla yanıtladı. Düzen hiyerarşisindeki en küçük alt öğeye bir clickEvent öğesi gönderilir. Bu öğenin bir onClick davranışı yoksa, etkinlik işleninceye kadar etkinliği ebeveynine kadar geçirir.

Bu nedenle, LinearLayout'u onClick davranışınız için tek bir blok olarak ele alabilirsiniz. Düzen içinde başka bir tıklanabilir öğe oluşturursanız, kullanıcının doğru öğeyi kaçırma olasılığını azaltacak kadar büyük olduğundan emin olun.


28
2017-11-15 10:45