Android - setOnClickListener vs OnClickListener vs View.OnClickListener
Mein Verständnis ist, dass ich beim Erstellen eines Schaltflächenobjekts, das auf einen Klick wartet, Folgendes tun muss:
Erstelle das SchaltflächenobjektVerwendenOnClickListner
, damit es auf den Klick des Benutzers hörtVerwendenonClick
, um Aktionen auszuführen, nachdem der Benutzer auf die Schaltfläche @ geklickt hJetzt
Woher kommtsetOnClickListener
passen in die obige Logik?Welche hört man eigentlich auf den Knopfdruck?setOnClickListener
?OnClickListener
?View.OnClickListener
?Was sind die Unterschiede zwischen diesen drei?Hier ist, was ich in Android Dev gefunden habe:
//The example below shows how to register an on-click listener for a Button.
// Create an anonymous implementation of OnClickListener
private OnClickListener mCorkyListener = new OnClickListener() {
public void onClick(View v) {
// do something when the button is clicked
}
};
protected void onCreate(Bundle savedValues) {
...
// Capture our button from layout
Button button = (Button)findViewById(R.id.corky);
// Register the onClick listener with the implementation above
button.setOnClickListener(mCorkyListener);
...
}
Sie können es auch bequemer finden, @ zu implementierOnClickListener
als Teil IhresActivity
. Dies vermeidet das zusätzliche Laden von Klassen und die Zuweisung von Objekten. Beispielsweise
public class ExampleActivity extends Activity implements OnClickListener {
protected void onCreate(Bundle savedValues) {
...
Button button = (Button)findViewById(R.id.corky);
button.setOnClickListener(this);
}
// Implement the OnClickListener callback
public void onClick(View v) {
// do something when the button is clicked
}
}