[JAVA] Résumé de l'utilisation de ButterKnife

introduction

Utilisez ** ButterKnife pour créer des applications Android! ** Je le savais, alors Je vais résumer la méthode d'introduction et son utilisation.

L'environnement de développement est le suivant.

Qu'est-ce que le couteau à beurre

dependencies{
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.7'
        classpath 'com.jakewharton:butterknife-gradle-plugin:8.5.1'
}
apply plugin: 'com.jakewharton.butterknife'

ButterKnife peut réduire ** les descriptions liées à la vue telles que findViewByID et OnClickListener ** en associant id et vue avec des annotations ( @ ~ </ code>). Comment installer ButterKnife Ajoutez la description suivante dans les dépendances. apply plugin: ajoutez la description suivante après "com.android.application" </ code> Ajoutez la description suivante dans les dépendances.

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

Comment utiliser ButterKnife

Pour l'utilisation, je me suis référé au Site officiel.

Flux de traitement approximatif

  1. Utilisez @BindView </ code> pour déclarer l'ID et la variable à associer.
  2. Écrivez @ ButterKnife.bind () </ code> et associez l'ID à la variable.

Déclaration d'identité et vue à associer

Entrez l'ID correspondant dans la partie [] du code.

  • Écriture générale
    @BindView(R.id.[ID])
    ListView listView;

--Événement lorsque le bouton est cliqué

    @OnClick(R.id.[ID])
    public void onClick(View v) {
        //Décrivez le traitement au moment du clic
    }

Si vous souhaitez effectuer le même processus avec plusieurs boutons, vous pouvez l'implémenter en écrivant le code comme suit.

    @OnClick({R.id.[ID],R.id.[ID]})
    public void onClick(View v) {
        //Décrivez le traitement au moment du clic
    }

--Evénement en cliquant sur Item dans ListView

    @OnItemClick(R.id.[ID])
    void OnListItemClick(int position) {
        //Traitement en cliquant sur un élément
    }
  • Le code ci-dessus est un moyen d'obtenir la position de l'élément cliqué.

Associer l'ID à la vue

--Pour l'activité (argument: activité)

	OnCreate(){
		ButterKnife.bind(this);
	}

--Pour Fragment (arguments: activité, vue)

Pour Fragment, vous devez passer une vue.

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

Tips

Annoté mais ne fonctionne pas

  1. Vérifiez si ButterKnife.bind est décrit
  2. Vérifiez la description de gradle Si votre plugin Gradle est inférieur à 22, écrivez apt </ code> au lieu de annotationProcessor </ code>. Cela peut l'empêcher de fonctionner.

À propos de l'événement lorsque vous cliquez sur un élément dans ListView

C'était dans l'article de KeithYokoma, mais si les en-têtes etc. sont enregistrés dans la liste, la position de l'élément cliqué et la position à acquérir peuvent être différentes. Veuillez noter qu'il semble y en avoir un.

Modifications depuis moins de ver7

Veuillez noter que la méthode d'écriture peut différer selon la version.

moins de ver7 ver7 ou version ultérieure
@InjectView @BindView
@InjectViews @BindView
ButterKnife.inject ButterKnife.bind
ButterKnife.reset ButterKnife.unbind

Recommended Posts