EditText实时判断输入字符数
16lz
2021-12-04
布局文件如下:
<?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="fill_parent" android:layout_height="wrap_content" android:textColor="@android:color/white" android:text="Please input the text:"/><EditText android:id="@+id/ET" android:layout_width="match_parent" android:layout_height="wrap_content"/></LinearLayout>
实现如下:
package com.eric.demo;import android.app.Activity;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 MainActivity extends Activity { private TextView mTextView; private EditText mEditText; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); 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;@Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) {// TODO Auto-generated method stub temp = s;}@Overridepublic void beforeTextChanged(CharSequence s, int start, int count,int after) {// TODO Auto-generated method stubmTextView.setText(s);//将输入的内容实时显示}@Overridepublic void afterTextChanged(Editable s) {// TODO Auto-generated method stub editStart = mEditText.getSelectionStart(); editEnd = mEditText.getSelectionEnd(); mTextView.setText("您输入了" + temp.length() + "个字符"); if (temp.length() > 10) { Toast.makeText(TestActivity.this, "您输入的字数已经超过了限制!", Toast.LENGTH_SHORT) .show(); s.delete(editStart - 1, editEnd); int tempSelection = editStart; mEditText.setText(s); mEditText.setSelection(tempSelection); }}};}
更多相关文章
- Android自学笔记(番外篇):全面搭建Linux环境(五)——Eclipse Helios(3.
- Android通过手势实现图像拖拽功能
- Android定制出厂默认输入法
- Android(安卓)dependency ‘androidx.core:core’ has different
- android中调用金山词霸
- Android的Activity实时刷新
- Android(安卓)Google Maps API key 申请
- Android(安卓)AlertDialog有EditText无法弹出输入法的解决
- Android(安卓)5.1截获HOME键