..
No capítulo anterior, não foi deliberadamente oferecer ao leitor uma versão otimizada do ouvinte, porque era o preferido para a primeira explicar os conceitos básicos de operação, a fim de evitar confusão e para seguir um caminho linear de exposição. Do ponto de vista implementada, no entanto, o código descrito acima - como disse - não é certamente a solução preferida.
O que vemos agora, portanto, é uma implementação otimizada dos nossos ouvintes através da criação de um objeto a ser invocado em dois botões OnClickListener usando o método setOnClickListener.
Posizioniamoci e toque na HelloWorld.java arquivo e insira o seguinte código:
View.OnClickListener View.OnClickListener gerente = new () {
public void onClick (View view) {
switch (view.getId ()) {
R.id.bottone1 casas:
textView1.setText ('E' foi clicado o botão 1 !!!!!");
break;
R.id.bottone2 casas:
textView1.setText (botão 'E' foi clicado duas !!!!!");
break;
}
}
};
bottone1.setOnClickListener (gerente);
bottone2.setOnClickListener (gerente);
Então, primeiro você cria um objeto do tipo OnClickListener e, após a construção de novos é chamado de construtor para a classe, em seguida, vai para redefinir o método OnClick como fizemos anteriormente.
O ouvinte que criamos tem a distinção de ser o mesmo para ambos bottonni e, portanto, que a implementação anterior, salvo a memória em uma nova instância de um ouvinte. A vantagem é ainda mais evidente à medida que o número de botões na janela.
Em essência, o ouvinte é capaz de adivinhar qual dos dois botões foi clicado agir em conformidade. O reconhecimento do botão é pressionado através de um interruptor baseado na condição view.getId ().
Como podemos ver o método OnClick tem como argumento a Ver e, em seguida, quando um botão é clicado, o objeto View é inicializado com o botão pressionado. Usando o método getId () retorna o ID exclusivo associado ao botão no arquivo R.java vimos nos capítulos anteriores.
Neste ponto, é possível distinguir o botão pressionado em função do id do botão, como podemos ver no caso construir.
Uma vez que o código para o método OnClick é chamado em ambos os botões setOnClickListener método como um argumento precisamente o OnClickListener "criado anteriormente.
Uma vez compreendida, o código mostrado neste capítulo, é fácil de usar e fácil de mudar. Na verdade, essa implementação, bem como permitindo menor uso de memória (mas não menos importante quando a programação para dispositivos com memória muito limitada, como um telefone) tem a grande vantagem de ser de fácil manutenção. Isso porque, se é preciso mudar o comportamento do ouvinte vai saber exatamente o que parte do código vai editar. Mesma coisa que você não pode dizer se eles usam a implementação de idade, porque, nesse caso, devemos passar por todo o código para cada elemento que é usado para um ouvinte, em seguida, andarne para modificar o código dentro.
A melhor aplicação também é facilmente expansível como se tivéssemos a necessidade de inserir outro botão que usa o mesmo ouvinte terá que seguir os seguintes passos:
| |
Excel (Ebook)
Criar planilhas e cálculo. Apenas € 25. |
| |
Photoshop (Curso)
Gráficos para a Web e edição de fotos com o popular Adobe Photoshop. A partir de 49 €. |
| |
Visual Basic 6 (Curso)
Fazer aplicações Desktop com VB6. A partir de 39 €. |