[JAVA] So erhalten Sie Werte in Echtzeit mit TextWatcher (Android)

Überblick

So reflektieren (Anzeigen) von Zeichen in TextView beim Schreiben von Zeichen mit EditText. Dies kann mit TextWatcher erreicht werden.

Implementieren Sie TextWatcher (implementiert)

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

Implementieren Sie TextWatcher in der Aktivität oder dem Fragment, die Sie anzeigen möchten.

Override (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) -Methode, die unmittelbar vor dem Ändern der Zeichenfolge aufgerufen werden soll ・ Zeichenfolge s → Die aktuell in EditText eingegebene Zeichenfolge ・ Int Start → Startposition der neu hinzugefügten Zeichenkette in der Zeichenkette von s ・ Int count → Gesamtzahl der geänderten Zeichenfolgen in der Zeichenfolge von s

2.onTextChanged(CharSequence s, int start, int before, int count) ・ Wird aufgerufen, wenn ein Zeichen eingegeben wird ・ Zeichenfolge s → Die aktuell in EditText eingegebene Zeichenfolge ・ Int Start → Startposition der neu hinzugefügten Zeichenkette in der Zeichenkette von s ・ Int vorher → Anzahl der vorhandenen Zeichenfolgen, die gelöscht werden sollen ・ Int count → Anzahl der neu hinzugefügten Zeichenketten

3.afterTextChanged(Editable s) -Finally wird diese Methode aufgerufen ・ Bearbeitbar s → Die endgültige modifizierbare, modifizierte Zeichenfolge

Sie können vor, während und nach der Zeicheneingabe in Echtzeit einstellen.

Hörerregistrierung

addTextChangedListener(this);

Registrieren Sie den Ziel-EditText im Listener.

Beispielcode

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);
        //Listener registrieren
        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) {
        //Reflektiert den in TextView eingegebenen Wert in Echtzeit
        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

So erhalten Sie Werte in Echtzeit mit TextWatcher (Android)
Wie fange ich mit schlank an?
So erhalten Sie Parameter in Spark
Überwachen von Anwendungsinformationen in Echtzeit mit JConsole
So erhalten Sie den Wert von Boolean mit jQuery in einfacher Rails-Form
[Android] Wie man mit dunklen Themen umgeht
[Hinweis] Erste Schritte mit Rspec
So erhalten Sie das Datum mit Java
Verwendung von ExpandableListView in Android Studio
[Rails] So erhalten Sie die aktuell mit devise angemeldeten Benutzerinformationen
So erhalten Sie Keycloak-Anmeldeinformationen in der Interceptor-Klasse
So erhalten Sie eine Klasse von Element in Java
Erste Schritte mit Eclipse Micro Profile
So löschen Sie eine Ressourcendatei mit Spring-Boot
So erhalten Sie die ID eines Benutzers, der sich in Swift bei Firebase authentifiziert hat
Einbetten von JavaScript-Variablen in HTML mit Thymeleaf
So implementieren Sie UICollectionView mit Code nur in Swift
So sortieren Sie mit SQLite in aufsteigender / absteigender Reihenfolge
Aufrufen von Funktionen in großen Mengen mit Java Reflection
So stellen Sie die Anzeigezeit in Rails auf japanische Zeit ein
So wechseln Sie Tomcat context.xml mit Eclipse WTP
So erhalten Sie Informationen zu zugeordneten Tabellen in vielen-zu-vielen-Tabellen
Verwendung der Z3-Bibliothek in Scala mit Eclipse
Organisierte schrittweise Interaktion mit dem JDK
[So fügen Sie ein Video mit Rails in haml ein]
Wo Sie sich beim Spark-Routing in den Spezifikationen verlieren können
So löschen Sie mit Docker Bilder ohne Tags in großen Mengen
[Android] So erhalten Sie die Einstellungssprache des Terminals
Verwendung der JDD-Bibliothek in Scala mit Eclipse
Abfragen von Arrays in jsonb mit Rails + postgres
So aktivieren Sie die Senden-Schaltfläche jedes Mal mit jquery
Wie man mit cli jdk etc. von oracle bekommt
Verknüpfen Sie das Docker-Protokoll mit AWS CloudWatch und überwachen Sie es in Echtzeit mit VS Code
Verwendung von UsageStatsManager in Android Studio (Überprüfen der Startzeit anderer Apps)
So erhalten Sie den Namen einer Klasse / Methode, die in Java ausgeführt wird
So machen Sie einen Screenshot mit dem Android Studio-Emulator
So ändern Sie den Einstellungswert von application.properties beim Booten im Frühjahrsstart
Wie man mit html.erb nummeriert (nummeriert)
So aktualisieren Sie mit activerecord-import
So erstellen Sie eine App mit Tensorflow mit Android Studio
So implementieren Sie eine einzeilige Anzeige von TextView in der Android-Entwicklung
Zuordnung zu einer Klasse mit einem Wertobjekt in How to My Batis
So entfernen Sie Android-Apps, die mit dem RenderThread-Rätselfehler abstürzen
Jetzt ist es an der Zeit, mit der Stream-API zu beginnen
Erste Schritte mit JDBC mit PostgresSQL unter MacOS
So richten Sie einen Proxy mit Authentifizierung in Feign ein
Android: Umgang mit "Ursache: android.support.transition.R $ id 2 kann nicht gefunden werden: android.support.transition.R $ id in android / support / Transition / R $ id 2. Klasse gefunden"
So erstellen Sie eine JAR-Datei ohne Abhängigkeiten in Maven
Android: Umgang mit "Java-Version von '10 .0.1 'konnte nicht ermittelt werden"
So wechseln Sie die Java-Version mit direnv im Terminal auf dem Mac
Quelle zur Anzeige des Zeichenarrays mit numberPicker in Android Studio (Java)
So erhalten Sie die ID des automatisch inkrementierten PRIMAY-Schlüssels in MyBatis
So installieren Sie Adopt OpenJDK unter Debian, Ubuntu mit apt (-get)