android:实时监听键盘表单输入的值。

在这里插入图片描述

layout/activity_jinapanjianting.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView android:id="@+id/tv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@android:color/black"
        android:text="Please input the text:"
        />
    <EditText android:id="@+id/ET"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
</LinearLayout>
jinapanjianting.java
package com.example.asus.jichuzujian;

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;
import android.widget.Toast;

public class jinapanjianting extends AppCompatActivity {
    private TextView mTextView;
    private EditText mEditText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_jinapanjianting);
        mTextView = (TextView)findViewById(R.id.tv);
        mEditText = (EditText)findViewById(R.id.ET);
        mEditText.addTextChangedListener(mTextWatcher);
    }
    TextWatcher mTextWatcher = new TextWatcher() {
        private CharSequence temp;
        private int editStart ;
        private int editEnd ;
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub
            temp = s;
            Toast.makeText(getApplicationContext(),"1",Toast.LENGTH_LONG).show();

        }
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                                      int after) {
            // TODO Auto-generated method stub
//   mTextView.setText(s);//将输入的内容实时显示
        }
        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub
            editStart = mEditText.getSelectionStart();
            editEnd = mEditText.getSelectionEnd();
            mTextView.setText("您输入了" + temp.toString()+ "个字符");
            Toast.makeText(getApplicationContext(),"1",Toast.LENGTH_LONG).show();
//            if (temp.length() > 10) {
//                Toast.makeText(jinapanjianting.this,
//                        "你输入的字数已经超过了限制!", Toast.LENGTH_SHORT)
//                        .show();
//                s.delete(editStart-1, editEnd);
//                int tempSelection = editStart;
//                mEditText.setText(s);
//                mEditText.setSelection(tempSelection);
//            }
        }
    };
}

上边temp.toString()是用来获取内容的,
temp.length()可以实时获取输入内容的长度。

发布了51 篇原创文章 · 获赞 45 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/a1424261303/article/details/93047206