最近在写一个小项目,其中有一点用到了显示EditText中输入了多少个字符,像微博中显示剩余多少字符的功能。在EditText提供了一个方法addTextChangedListener实现对输入文本的监控。下边是我自己写的一个Demo。
代码实现:
布局文件main.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="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>
Activitypackage com.damai.test;
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 TestActivity 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 ;
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
temp = s;
}
@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.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);
}
}
};
}
分享到:
相关推荐
监听edittext输入的字符长度,可自行添加需要的操作
Android限制只能输入中文的EditText,对输入的内容进行监听拦截。
做这个功能是因为开发项目的时候,由于后台接口的一些参数的值的长度有要求,不能超过多少个字符,所以在编辑框中输入的字符是要有限制的。 下面就来看一下demo的实现过程: 首先,在xml控件中放置一个EditText控件...
在 Android design support 包中提供了一种在输入不合适字符时一直显示的提示方式来显示,现在已经开始在更多的应用上被使用了;这些 Android app 在显示他们的错误提示时采用的不同的方式常常让人感觉非常的不和谐...
Android 输入框监听,实现监听输入字符总数变化
1.EdiTtext输入框控制不能输入空格,给EditText添加一个addTextChangedListener监听,如果有空格split截取截取再for循环将截取后不包含空格的字符串数组重新排列这样这个字符串就不包含空格了,最后将这个字符串重新...
本篇文章主要介绍了Android TextWatcher监控EditText中的输入内容并限制其个数,我们可以通过TextWatcher去观察输入框中输入的内容,有兴趣的可以了解一下。
EditText输入框监听死循环 输入框中的空格无法删除(删除又添加) 从中间删除一个数字产生的一系列问题 输入框光标位置的控制问题 之前踩坑的过程就不再赘述了,太心酸…. 经过一系列的实验,最后定下来的思路...
需求 1、能自定义输入框个数...Edittext:监听edittext每次输入一个字符就赋值到对应的TextView上,然后在清空自己 下划线:在TextView下面添加View 光标:这里的每个TextView的焦点光标其实对View设置了ValueAnimator
//判断号码字符串是否合法 if(PhoneNumberUtils.isGlobalPhoneNumber(tempPhone)){//合法则发送短信 sendSMS(tempPhone,smsStr,v);//发送短信 } } }完整源代码请在本页面下载。
声明列表对话框的id,显示列表对话框,为按钮添加OnClickListener监听器,然后重写的onCreateDialog方法: switch(id){//对id进行判断 case LIST_DIALOG: Builder b = new AlertDialog.Builder(this);//创建...
//选项数组,通过重写onCreate方法,从XML文件读取下拉框内容到字符串数组中,为按钮添加监听器,并显示多选按钮对话框,同时自定义了一个处理程序,用于判断用户是否选择多选 框中的内容:Dialog dialog = null;...
else{//不为空时,将输入输入框中的字符串赋给People_mll类中的变量 people.name=nameEditText.getText().toString(); people.age=Integer.parseInt(ageEditText.getText().toString()); ...
95、Java替换字符串,不区分大小写 138 96、Java获得随机数 139 97、MD5加密 141 98、HTTP数据传输 141 从Internet获取数据 141 向Internet发送数据 143 99、Jason解析 146 100、广播 147 101、SQLite清空数据库 147...
4.3、EDITTEXT 49 4.3.1、光标选择 49 4.4、TITLEBAR 50 4.4.1、非全屏状态下不显示title标题栏 50 4.4.2、标题栏进度指示器 50 4.4.3、titleBar 高级实现方法(更美观) 51 4.4.4、获取标题栏和状态栏高度 57 4.4.5、...
4.3、EDITTEXT 49 4.3.1、光标选择 49 4.4、TITLEBAR 50 4.4.1、非全屏状态下不显示title标题栏 50 4.4.2、标题栏进度指示器 50 4.4.3、titleBar 高级实现方法(更美观) 51 4.4.4、获取标题栏和状态栏高度 57 4.4.5、...
2.搞清楚EditText的实时监听 3.让一个textview出现不同的颜色 4.如何穿过Adpter找出textview中key值(也就是高亮字符串) 当你打通这四个技术点后,如果还不能实现这种效果,那么你能说你现在的学习太死板,不会活...