Android实现限制EditText输入文字的数量

一: 声明控件。

TextView hasnumTV;

TextView hasnum;// 用来显示剩余字数

int num = 50;// 限制的最大字数

二: 主要的方法:

hasnumTV = (TextView) findViewById(R.id.tv_num);

hasnumTV.setText("限" + num + "" + "字以内");

editText.addTextChangedListener(new TextWatcher() {

private CharSequence temp;

private int selectionStart;

private int selectionEnd;

@Override

public void onTextChanged(CharSequence s, int start, int before,

int count) {

}

public void beforeTextChanged(CharSequence s, int start, int count,

int after) {

temp = s;

}

public void afterTextChanged(Editable s) {

// TODO Auto-generated method stub

int number = num - s.length();

hasnumTV.setText("剩余" + "" + number + "个字");

selectionStart = editText.getSelectionStart();

selectionEnd = editText.getSelectionEnd();

if (temp.length() > num) {

s.delete(selectionStart - 1, selectionEnd);

int tempSelection = selectionEnd;

editText.setText(s);

editText.setSelection(tempSelection);// 设置光标在最后

}

}

});

主要的效果是做到了输入的限制文字

Android实现限制EditText输入文字的数量,布布扣,bubuko.com

时间: 2024-10-29 19:10:59

Android实现限制EditText输入文字的数量的相关文章

Android开发中EditText输入的一些限制

1.限制输入类型 代码:et_lxnr.setInputType(InputType.TYPE_TEXT_VARIATION_LONG_MESSAGE);xml:android:inputType="number" 2.限制输入长度 代码:et_lxnr.setFilters(new InputFilter[]{new InputFilter.LengthFilter(10)});xml:android:maxLength="10" 3.限制输入固定的某些字符 代码

Android EditText输入字数限制总结(包括中文输入内存溢出的解决方法)

限定EditText输入个数的解决方案很多,但是一般主要考虑两点,也就是处理两件事: (1)不同语言字符(英文.中文等)处理方式 (2)输入字符达到数目后,是否仍然允许用户输入 第一点,涉及的东东其实蛮多,不同语言在不同编码中占据字节数等,不同语言在U8等编码的表示范围等,这一整块知识很丰富, 自己暂时没有理的特别顺,稍后整理再说吧. 第二点,目前主流app的处理方案也各有不同,qq5.0以前的版本,发表说说貌似是没有字数限制的(我试了一个350字左右的照样发), 5.0以后限制了,这样如果用户

android代码设置EditText只输入数字、字母

 如何设置EditText,使得只能输入数字或者某些字母呢? 一.设置EditText,只输入数字: 方法1:直接生成DigitsKeyListener对象就可以了. et_1.setKeyListener(new DigitsKeyListener(false,true)); 方法2:在EditText中设置属性,android:numeric="integer"即只能输入整数,如下 android:singleLine="true" android:nume

Android EditText输入字数限制总结(包含中文输入内存溢出的解决方法)

转载请注明,大飞:http://blog.csdn.net/rflyee/article/details/38856539 限定EditText输入个数的解决方式非常多,可是一般主要考虑两点.也就是处理两件事: (1)不同语言字符(英文.中文等)处理方式 (2)输入字符达到数目后,是否仍然同意用户输入 第一点,涉及的东东事实上蛮多,不同语言在不同编码中占领字节数等,不同语言在U8等编码的表示范围等,这一整块知识非常丰富,自己临时没有理的特别顺.稍后整理再说吧. 第二点.眼下主流app的处理方案也

Android——Activity恢复用户用EditText输入的数据

说明: 在横屏输入的内容,在Activity销毁后,即横屏后,获取用户输入的内容 步骤: 1.在xml页面定义EditText的id 2.用onSaveInstanceState保存用户输入的数据 (1)调父类 (2)用findViewById使用id查找并获取View的实例(View所有控件的父类,再强制转换一下) (3)找到实例,获取文本内容:转为字符串 get (4)将获取到内容保存起来 put 3.用onRestoreInstanceState恢复数据 (1)先获取数据 get (2)操

android 之EditText输入检测

最近开发一个功能的时候发生一个故事,其情节如下: 功能其实不复杂,其中需要一个EditText来获取用户输入的信息.于是,我做了一个Dialog来显示我的输入界面(代码如下): mAlertDialog = new AlertDialog.Builder(this)//, android.R.style.Theme_Holo_Light .setIcon(R.drawable.ic_dialog_info_light) .setTitle(R.string.model_rename_device

android的edittext输入长度

http://blog.csdn.net/uyu2yiyi/article/details/6329738 http://flysnow.iteye.com/blog/828415/ http://songfantasy.iteye.com/blog/1172362 android的edittext输入长度,布布扣,bubuko.com

android如何改变editText控件中部分文字的格式

我们在使用editText控件的时候,会遇到这样的一问题,就是我在输入时候,当我选择让文字变粗时,我输入的文字就会变粗,当我去掉选择时,再输入文字时,文字就是正常情况了. 这种情况,大家一般认为很简单啊.editText中不是有setTypeface这个方法吗.只要使用edit_temp.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));就可以了.可是问题来了.这种方法,是将editText中所有的文字的格式全变了.可是我想要的格式是

Android EditText输入最大长度限制如何给用户以友好的提示

我们知道EditText有个属性android:maxLength="xxx" ,可以设置EditText的最大长度. 也可以用如下代码设置长度,editText.setFilters( new  InputFilter[]{ new  InputFilter.LengthFilter( 50 )}); 然后我写个小示例,xml布局如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/an