Estou chocado ninguém falou sobre isso, mas tenha cuidado, embora android:onClick
XML parece ser uma forma conveniente de alça clique, a setOnClickListener
aplicação fazer algo adicional de adicionar o onClickListener
. Na verdade, isso tornava clickable
verdadeira a propriedade view .
Embora possa não ser um problema na maioria das implementações do Android, de acordo com o construtor do telefone, o botão é sempre padrão para clickable = true, mas outros construtores em algum modelo de telefone podem ter um clickable = false padrão em visualizações que não são de botão.
Portanto, configurar o XML não é suficiente, você tem que pensar o tempo todo para adicionar um android:clickable="true"
não botão, e se você tiver um dispositivo onde o padrão é clickable = true e você se esquecer de colocar esse atributo XML uma vez, você não notará o problema em tempo de execução, mas obterá o feedback do mercado quando estiver nas mãos de seus clientes!
Além disso, nunca podemos ter certeza de como o Proguard ofuscará e renomeará os atributos XML e o método de classe, portanto, não é 100% seguro que eles nunca terão um bug um dia.
Então, se você nunca quer ter problemas e nunca pensar sobre isso, é melhor usar setOnClickListener
bibliotecas como ButterKnife com anotações@OnClick(R.id.button)
onclick
pois precisa garantir que todas as classes implementem esse método. Isso pressupõe que você esteja usando o layout mais de uma vez. No entanto, se você tivesse uma interface java para garantir que o método estivesse em todas as classes que o implementaram, não teria que se preocupar.