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.
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.
dependencies{
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.7'
classpath 'com.jakewharton:butterknife-gradle-plugin:8.5.1'
}
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'
}
Informationen zur Verwendung finden Sie auf der offiziellen Website.
@BindView </ code>, um die zuzuordnende ID und Variable zu deklarieren.
@ ButterKnife.bind () </ code> und ordnen Sie die ID der Variablen zu.
Geben Sie die entsprechende ID in den Teil [] des Codes ein.
@BindView(R.id.[ID])
ListView listView;
@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
}
@OnItemClick(R.id.[ID])
void OnListItemClick(int position) {
//Verarbeitung beim Klicken auf ein Element
}
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
apt </ code> anstelle von annotationProcessor </ code>.
Es kann dazu führen, dass es nicht funktioniert.
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.
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