Divers écouteurs qui apparaissent dans le développement d'applications Android. Il y a deux modèles principaux pour écrire dans un fichier java, et c'était déroutant, donc je vais l'écrire sous forme de mémorandum.
Cet exemple est une application qui affiche un message lorsque vous appuyez sur un bouton.
Evénement: Une opération à effectuer sur l'écran (exemple: clic) Gestionnaire d'événements ・ ・ ・ Traitement à effectuer pour l'événement (Exemple: Afficher le texte lorsque l'utilisateur clique dessus) Auditeur: quelque chose qui détecte un événement (exemple: bouton)
La mise en page est adaptée.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="bouton"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/text" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Réglage de l'écouteur (bouton de détection d'événement installé)
Button button1 = findViewById(R.id.btn);
button1.setOnClickListener(new TestListener());
}
//Créer une classe d'auditeur(Cliquez sur le bouton+Affichage du texte)
private class TestListener implements View.OnClickListener {
@Override
public void onClick(View view) {
TextView textView = findViewById(R.id.text);
textView.setText("J'ai cliqué sur le bouton1");
}
}
}
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Décrivez tous ensemble
Button button2 = findViewById(R.id.btn);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TextView textView = findViewById(R.id.text);
textView.setText("J'ai cliqué sur le bouton 2");
}
});
}
}
Bouton In ・ SetOnClickListener ・ View.OnClickListener · Sur clic Puisque le flux est décidé, reconnaissez-le comme un ensemble.
J'en ai introduit deux, mais il semble que View.OnClickListener est défini avec une classe anonyme de base. Par conséquent, le modèle 1 doit être utilisé comme référence pour comprendre la structure!
Recommended Posts