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 h

Jetzt

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
    }
}

Antworten auf die Frage(10)

Ihre Antwort auf die Frage