[JAVA] Zusammenfassung der Verwendung von ButterKnife

Einführung

Verwenden Sie ** ButterKnife, um Android-Apps zu erstellen! ** Das wusste ich also Ich werde die Einführungsmethode und die Verwendung zusammenfassen.

Die Entwicklungsumgebung ist wie folgt.

Was ist Buttermesser?

Da es in verschiedenen Artikeln und Büchern vorgestellt wird, denke ich, dass es eine der Bibliotheken ist, die leicht neu einzuführen ist.

ButterKnife verknüpft ID und Ansicht mit einer Anmerkung ( @ ~ </ code>). Sie können die Beschreibung in Bezug auf die Ansicht ** reduzieren, z. B. findViewByID und OnClickListener.

So installieren Sie ButterKnife

  • build.gradle(Project)
    Fügen Sie die folgende Beschreibung in Abhängigkeiten hinzu.
dependencies{
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.7'
        classpath 'com.jakewharton:butterknife-gradle-plugin:8.5.1'
}
  • build.gradle(app)
    Plugin anwenden: Fügen Sie nach 'com.android.application' </ code> die folgende Beschreibung hinzu.
apply plugin: 'com.jakewharton.butterknife'

Fügen Sie die folgende Beschreibung in Abhängigkeiten hinzu.

dependencies{
    compile 'com.jakewharton:butterknife:8.5.1'
    apt 'com.jakewharton:butterknife-compiler:8.5.1'
}

Wie man ButterKnife benutzt

Informationen zur Verwendung finden Sie auf der offiziellen Website.

Grober Verarbeitungsablauf

  1. Verwenden Sie @BindView </ code>, um die zuzuordnende ID und Variable zu deklarieren.
  2. Schreiben Sie @ ButterKnife.bind () </ code> und ordnen Sie die ID der Variablen zu.

ID-Erklärung und zu assoziierende Ansicht

Geben Sie die entsprechende ID in den Teil [] des Codes ein.

  • Allgemeines Schreiben
    @BindView(R.id.[ID])
    ListView listView;
  • Ereignis, wenn auf die Schaltfläche geklickt wird
    @OnClick(R.id.[ID])
    public void onClick(View v) {
        //Beschreiben Sie die Verarbeitung zum Zeitpunkt des Klickens
    }

Wenn Sie denselben Vorgang mit mehreren Schaltflächen ausführen möchten, können Sie ihn implementieren, indem Sie den Code wie folgt schreiben.

    @OnClick({R.id.[ID],R.id.[ID]})
    public void onClick(View v) {
        //Beschreiben Sie die Verarbeitung zum Zeitpunkt des Klickens
    }
  • Ereignis beim Klicken auf Element in ListView
    @OnItemClick(R.id.[ID])
    void OnListItemClick(int position) {
        //Verarbeitung beim Klicken auf ein Element
    }
  • Mit dem obigen Code können Sie die Position des angeklickten Elements ermitteln.

ID mit Ansicht verknüpfen

  • Für Aktivität (Argument: Aktivität)
	OnCreate(){
		ButterKnife.bind(this);
	}

--Für Fragment (Argumente: Aktivität, Ansicht)

Für Fragment müssen Sie eine Ansicht übergeben.

	OnCreateView(){
		ButterKnife.bind(this,view);
	}

Tips

Kommentiert, funktioniert aber nicht

  1. Überprüfen Sie, ob ButterKnife.bind beschrieben ist
  2. Überprüfen Sie die Beschreibung von gradle Wenn Ihr Gradle-Plugin kleiner als 22 ist, schreiben Sie apt </ code> anstelle von annotationProcessor </ code>. Es kann dazu führen, dass es nicht funktioniert.

Informationen zum Ereignis beim Klicken auf ein Element in ListView

Es war in KeithYokomas Artikel, aber wenn Header usw. in der Listenansicht registriert sind, können die Position des angeklickten Elements und die zu erwerbende Position unterschiedlich sein. Bitte beachten Sie, dass es einen zu geben scheint.

Änderungen von weniger als ver7

Bitte beachten Sie, dass die Schreibweise je nach Version unterschiedlich sein kann.

weniger als ver7 ver7 oder höher
@InjectView @BindView
@InjectViews @BindView
ButterKnife.inject ButterKnife.bind
ButterKnife.reset ButterKnife.unbind

Recommended Posts