[JAVA] Comment obtenir des valeurs en temps réel avec TextWatcher (Android)

Aperçu

Comment refléter (afficher) des caractères dans TextView lors de l'écriture de caractères avec EditText. Ceci peut être réalisé en utilisant TextWatcher.

Implémenter TextWatcher (implémente)

public class MainActivity extends AppCompatActivity implements TextWatcher{
...
}

Implémentez TextWatcher dans l'activité ou le fragment que vous souhaitez afficher.

Remplacer (beforeTextChanged / onTextChanged / afterTextChanged)

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
    }

    @Override
    public void afterTextChanged(Editable s) {
    }
}

1.beforeTextChanged(CharSequence s, int start, int count,int after) -Méthode à appeler juste avant la modification de la chaîne de caractères ・ CharSequence s → La chaîne de caractères actuellement saisie dans EditText ・ Début int → Position de départ de la chaîne de caractères nouvellement ajoutée dans la chaîne de caractères de s ・ Nombre int → Nombre total de chaînes de caractères modifiées dans la chaîne de caractères de s

2.onTextChanged(CharSequence s, int start, int before, int count) ・ Appelé lorsqu'un caractère est entré ・ CharSequence s → La chaîne de caractères actuellement saisie dans EditText ・ Début int → Position de départ de la chaîne de caractères nouvellement ajoutée dans la chaîne de caractères de s ・ Int avant → Nombre de chaînes de caractères existantes à supprimer ・ Nombre int → Nombre de chaînes de caractères nouvellement ajoutées

3.afterTextChanged(Editable s) -Enfin, cette méthode s'appelle ・ Modifiables → La dernière chaîne modifiable et modifiée

Vous pouvez définir en temps réel avant, pendant et après la saisie de caractères.

Inscription de l'auditeur

addTextChangedListener(this);

Enregistrez le EditText cible dans l'écouteur.

Exemple de code

MainActivity.java


import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements TextWatcher {

    EditText editText;
    TextView textView;
    EditText EditText_OUT;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.textView);
        editText = findViewById(R.id.editText);

        EditText_OUT = (EditText) findViewById(R.id.editText);
        //Enregistrer l'auditeur
        EditText_OUT.addTextChangedListener(this);
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

    }

    @Override
    public void afterTextChanged(Editable s) {
        //Reflète la valeur saisie dans TextView en temps réel
        textView.setText(s);
    }
}

activity.main.xml


<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.308" />

    <EditText
        android:id="@+id/editText"
        android:layout_width="284dp"
        android:layout_height="79dp"
        android:layout_marginStart="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:textSize="20dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView"
        app:layout_constraintVertical_bias="0.0" />
</android.support.constraint.ConstraintLayout>

ezgif-1-3dd9d81e7cfb.gif

Recommended Posts

Comment obtenir des valeurs en temps réel avec TextWatcher (Android)
Comment démarrer avec Slim
Comment obtenir des paramètres dans Spark
Comment surveiller les informations d'application en temps réel à l'aide de JConsole
Comment obtenir la valeur de boolean avec jQuery sous forme simple de rails
[Android] Comment gérer les thèmes sombres
[Note] Comment démarrer avec Rspec
Comment obtenir la date avec Java
Comment utiliser ExpandableListView dans Android Studio
[Rails] Comment obtenir les informations sur l'utilisateur actuellement connecté avec devise
Comment obtenir les informations d'identification Keycloak dans la classe d'intercepteur
Comment obtenir une classe depuis Element en Java
Comment démarrer avec Eclipse Micro Profile
Comment sortir un fichier de ressources avec spring-boot
Comment obtenir l'ID d'un utilisateur qui s'est authentifié avec Firebase dans Swift
Comment intégrer des variables JavaScript dans HTML avec Thymeleaf
Comment implémenter UICollectionView avec du code uniquement dans Swift
Comment trier par ordre croissant / décroissant avec SQLite
Comment appeler des fonctions en bloc avec la réflexion Java
Comment régler l'heure d'affichage sur l'heure japonaise dans les rails
Comment basculer Tomcat context.xml avec Eclipse WTP
Comment obtenir des informations sur les tables associées dans les tables plusieurs-à-plusieurs
Comment utiliser la bibliothèque Z3 dans Scala avec Eclipse
Organisé comment interagir avec le JDK par étapes
[Comment insérer une vidéo dans un hameau avec Rails]
Où se perdre dans les spécifications avec le routage Spark
Comment supprimer des images non balisées en masse avec Docker
[Android] Comment obtenir la langue de réglage du terminal
Comment utiliser la bibliothèque JDD dans Scala avec Eclipse
Comment interroger Array dans jsonb avec Rails + postgres
Comment activer le bouton d'envoi à chaque fois avec jquery
Comment obtenir JDK etc. depuis Oracle avec CLI
Liez le journal Docker à AWS CloudWatch et surveillez en temps réel avec VS Code
Comment utiliser UsageStatsManager dans Android Studio (Comment vérifier l'heure de démarrage d'autres applications)
Comment obtenir le nom d'une classe / méthode exécutée en Java
Comment faire une capture d'écran avec l'émulateur Android Studio
Comment modifier la valeur de paramètre de application.properties au moment du démarrage dans Spring Boot
Comment numéroter (nombre) avec html.erb
Comment mettre à jour avec activerecord-import
Comment créer une application à l'aide de Tensorflow avec Android Studio
Comment implémenter l'affichage sur une seule ligne de TextView dans le développement Android
Mappage à une classe avec un objet de valeur dans How to My Batis
Comment se débarrasser des applications Android qui plantent avec l'erreur mystère RenderThread
Il est maintenant temps de commencer avec l'API Stream
Comment démarrer avec JDBC en utilisant PostgresSQL sur MacOS
Comment configurer un proxy avec authentification dans Feign
Android: comment gérer "Cause: impossible de trouver android.support.transition.R $ id 2: android.support.transition.R $ id trouvé dans android / support / transition / R $ id 2. class"
Comment créer un fichier jar sans dépendances dans Maven
Android: Comment gérer "Impossible de déterminer la version Java à partir de '10 .0.1 '"
Comment changer de version Java avec direnv dans le terminal sur Mac
Source pour afficher le tableau de caractères avec numberPicker dans Android Studio (Java)
Comment obtenir l'identifiant de la clé PRIMAY incrémentée automatiquement dans MyBatis
Comment installer Adopt OpenJDK sur Debian, Ubuntu avec apt (-get)