In Android sembrano esserci 3 modi comuni per gestire i clic del pulsante, quanta differenza c'è tra i metodi? E alcuni di loro sono "migliori" in qualche modo?Come gestire un pulsante su cui si fa clic su Android?
I tre metodi Continuo a vedere sono: classe
Anonymous
Trova il pulsante da esso è ID, quindi passare una nuova classe anonima per setOnClickListener
, per esempio in onCreate
findViewById(R.id.myButton).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// .. Whatever
}
});
Implementare OnClickListener
Implementare OnClickListener
e passare this
a setOnClickListener
, quindi utilizzare un interruttore statment base all'ID pulsante, ad esempio in onCreate
findViewById(R.id.myButton).setOnClickListener(this);
e implementare onClick
come
public void onClick(View v) {
switch(v.getId()) {
case R.id.myButton:
// ... whatever ...
break;
}
}
Usa onClick XML atribute
Nel layout XML per la vostra attività, invece di dare il pulsante di un ID, utilizzare onClick
come questo :
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:onClick="buttonClicked"
android:text="Button" />
Poi hanno un metodo di buttonClicked
nella vostra Acitiviy come questo:
public void buttonClicked(View v) {
// ... whatever ...
}
Al momento tendo ad utilizzare l'attributo XML, ma questo è solo perché si tratta della minor quantità di codice. Quando dovrei usare gli altri metodi?
+1 per la descrizione del terzo metodo. Sto solo imparando Android e non ero a conoscenza dell'attributo 'onClick'. – Mike