Como lidar com cliques de botão usando o XML onClick em Fragments
Antes do favo de mel (Android 3), cada atividade foi registrada para lidar com cliques de botão viaonClick
no XML de um layout:
android:onClick="myClickMethod"
Nesse método, você pode usarview.getId()
e uma instrução switch para fazer a lógica do botã
Com a introdução do Honeycomb, estou dividindo essas atividades em fragmentos que podem ser reutilizados em muitas atividades diferentes. A maior parte do comportamento dos botões é independente da atividade e eu gostaria que o código residisse dentro do arquivo Fragmentsse usando o método antigo (anterior à 1.6) de registrar oOnClickListener
para cada botão.
final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});
O problema é que, quando meu layout é inflado, ainda é a Atividade de hospedagem que está recebendo o botão, não os Fragmentos individuais. Existe uma boa abordagem para
Registre o fragmento para receber os cliques do botão?Passe os eventos de clique da Atividade para o fragmento ao qual eles pertencem?