[JAVA] [Android] exemple d'interface

Je voudrais vous présenter un exemple concret de l'interface utilisée lors de la création d'une application Android.

exemple d'interface

Divers auditeurs

L'auditeur ici est défini dans View.java. Avec AndroidStudio, vous pouvez accéder à l'emplacement défini dans la classe avec command + B, veuillez donc le vérifier.

Il est parfois appelé un écouteur d'événements.

fil

Utilisé lors de la programmation avec plusieurs threads.

Référence: Processus et threads de développement Android

Exemple d'écriture

Prenons OnClickListener comme exemple.

Passer une classe anonyme en argument

Transmettez l'interface en tant qu'argument à la méthode setOnClickListener de la classe View.

Button button = new Button(this);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //Que faire lorsque vous cliquez sur le bouton
    }
});

Vous pouvez également l'affecter à une variable à l'avance. (Je ne le ferai pas ...)

Button button2 = new Button(this);
View.OnClickListener onClickListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //Que faire lorsque vous cliquez sur le bouton
    }
};
button2.setOnClickListener(onClickListener);

Utiliser une expression lambda

Préparation

La nouvelle grammaire implémentée dans Java8, Lambda, nécessite une préparation pour une utilisation sur Android.

Référez-vous à ce site,

app/build.gradle


android {
  defaultConfig {
    ...
    jackOptions {
        enabled true
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

Ajoutez les deux endroits ci-dessus.

À ce stade, il est nécessaire que la version de gradle soit 2.1.0 ou supérieure dans gradle-wrapper.properties.

Écrire dans le style lambda

Button button3 = new Button(this);
button3.setOnClickListener((View v)->{
    //Que faire lorsque vous cliquez sur le bouton
});

finalement

Il ne semble pas y avoir de réponse claire à "comment dois-je l'écrire?"

C'est un petit article ancien,

Personnellement, j'aime écrire dans des classes anonymes, et je n'aime pas vraiment implémenter des implémentations dans Acitivyt ou Fragment (parce que cela semble bizarre orienté objet ...)

Recommended Posts

[Android] exemple d'interface
Exemple d'utilisation de l'interface
interface
Vue Android
Avantages de l'interface
java (interface)
nouvelle interface
interface [java]
Exemple de titre