第一步:.xml文件建三个控件EditText,Button,TextView
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MyEditText"> <EditText android:id="@+id/et001" android:imeOptions="actionDone" android:singleLine="true" android:inputType="text" android:hint="请输入信息" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/btn001" android:text="提交" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/tv001" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
第二步:java文件写监听事件
方法一:et001.setOnKeyListener //使用setOnKeyListener(),这种方式只能监听硬键盘事件所以大多数android设备不能用
方法二:et001.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) { return false; } });
方法三:et001.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { //text 输入框中改变前的字符串信息 //start 输入框中改变前的字符串的起始位置 //count 输入框中改变前后的字符串改变数量一般为0 //after 输入框中改变后的字符串与起始位置的偏移量 } @Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { //text 输入框中改变后的字符串信息 //start 输入框中改变后的字符串的起始位置 //before 输入框中改变前的字符串的位置 默认为0 //count 输入框中改变后的一共输入字符串的数量 } @Override public void afterTextChanged(Editable editable) { //edit 输入结束呈现在输入框中的信息 } });