EditText实时判断输入字符数
16lz
2021-01-23
布局文件如下:
<?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); }}};}
更多相关文章
- ktolin在Android中布局界面拼接
- android 实时获取wifi信号强度
- android之布局LinearLayout
- android之线性布局LinearLayout以及weight权重使用
- 【Android】使用代码动态创建布局
- Android Studio 自带的侧滑布局设置
- android UI布局练习3
- android怎样在布局文件监听事假
- 【Android UI】Android开发之View的几种布局方式及实践