This example implement TextWatcher for EditText, such that we can detect user action on EditText, no extra "Enter" button is need.
VIDEO package com.blogspot.android_er.androidedittextchanged; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.text.Editable; import android.text.TextWatcher; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity { EditText editText; TextView tvMsg, tvInfo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText = (EditText)findViewById(R.id.edittext); tvMsg = (TextView)findViewById(R.id.msg); tvInfo = (TextView)findViewById(R.id.info); editText.addTextChangedListener(myTextWatcher); } TextWatcher myTextWatcher = new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { tvInfo.setText("beforeTextChanged(): \n" + charSequence + "\n" + i + "\n" + i1 + "\n" + i2); } @Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { tvInfo.setText("onTextChanged(): \n" + charSequence + "\n" + i + "\n" + i1 + "\n" + i2); tvMsg.setText(charSequence); } @Override public void afterTextChanged(Editable editable) { /* String s = editable.toString(); tvInfo.setText("afterTextChanged(): \n" + s); */ } }; } <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="20dp" android:orientation="vertical" tools:context="com.blogspot.android_er.androidedittextchanged.MainActivity"> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:autoLink="web" android:text="http://android-er.blogspot.com/" android:textStyle="bold"/> <EditText android:id="@+id/edittext" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter text" android:textSize="24dp"/> <TextView android:id="@+id/msg" android:layout_width="match_parent" android:layout_height="wrap_content" android:textStyle="bold" android:textSize="24dp"/> <TextView android:id="@+id/info" android:layout_width="match_parent" android:layout_height="wrap_content" android:textStyle="italic" android:textSize="20dp"/> </LinearLayout> Next:
-
Another example of TextWatcher to monitor text changed in EditText