Android EditText限制输入字数的方法

本文实例讲述了Android EditText限制输入字数的方法。分享给大家供大家参考,具体如下:

//新浪微博字数限制 private static final int WEIBO_CONTENT_LENGTH_LIMITED = 140; //添加微博内容edittext mInputEditText.addTextChangedListener(mTextWatcher); private TextWatcher mTextWatcher = new TextWatcher() { private int editStart; private int editEnd; public void afterTextChanged(Editable s) { editStart = mInputEditText.getSelectionStart(); editEnd = mInputEditText.getSelectionEnd(); // 先去掉监听器,否则会出现栈溢出 mInputEditText.removeTextChangedListener(mTextWatcher); while (mInputEditText.getText().toString().length() > WEIBO_CONTENT_LENGTH_LIMITED) { s.delete(editStart - 1, editEnd); editStart--; editEnd--; } mInputEditText.setText(s); mInputEditText.setSelection(editStart); mInputEditText.addTextChangedListener(mTextWatcher); setPromptContent(); } public void beforeTextChanged(CharSequence s, int start, int count, int after) { } public void onTextChanged(CharSequence s, int start, int before, int count) { } }; /** * refresh prompt content numbers */ private void setPromptContent() { int contentLength = mInputEditText.getText().toString().length(); mInputEditText.setSelection(contentLength); int limitedLength = WEIBO_CONTENT_LENGTH_LIMITED - contentLength; String prefix = getResources().getString(R.string.weibo_content_numbers_prefix); String suffix = getResources().getString(R.string.weibo_content_numbers_suffix); String promptContentNumbers = prefix + limitedLength + suffix; SpannableStringBuilder style = new SpannableStringBuilder(promptContentNumbers); style.setSpan(new ForegroundColorSpan(Color.RED), prefix.length(), promptContentNumbers.length() - suffix.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); mPromptContentNumbers.setText(style); }

更多关于Android控件相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

时间: 2024-10-06 13:00:27

Android EditText限制输入字数的方法的相关文章

Android EditText限制输入字符的方法总结

Android EditText限制输入字符的方法总结 最近项目要求限制密码输入的字符类型, 例如不能输入中文.   现在总结一下EditText的各种实现方式,  以比较各种方法的优劣. 第一种方式:  设置EditText的inputType属性,可以通过xml或者Java文件来设置.假如我要设置为显示密码的形式,可以像下面这样设置: 在xml中,   Android:inputType="textPassword" 在java文件中,可以用 ev.setInputType(Inp

Android EditText 对输入字数和内容范围进行限制

在做定制机时,对光敏值进行范围控制时,以及对区号输入时遇到对输入字数以及输入内容的显示.找了好多方法,终于找到了几种方法其中EditText的addTextChangedListener功不可没.例如对光敏值要在0到61之间.大于61时要在输入框中自动变为61.代码如下: edt.addTextChangedListener(new TextWatcher() { String nums = null; @Override public void afterTextChanged(Editabl

Android EditText限制输入字符类型的方法总结

Android EditText限制输入字符类型的方法总结 前言: 最近的项目上需要限制EditText输入字符的类型,就把可以实现这个功能的方法整理了一下: 1.第一种方式是通过EditText的inputType来实现,可以通过xml或者Java文件来设置.假如我要设置为显示密码的形式,可以像下面这样设置: 在xml中 Android:inputType="textPassword" 在java文件中,可以用 myEditText.setInputType(InputType.TY

Android EditText实现输入表情

一.简介 editText是TextView的子类,TextView能用的工具EditText都能用,这里就是editText利用SpannableString的ImageSpan实现输入表情的功能 类结构图: 二.方法 1)EditText利用SpannableString的ImageSpan实现添加表情的方法 第一步:创建SpannableString对象spannableString SpannableString spannableString=new SpannableString("

JavaScript动态提示输入框输入字数的方法_javascript技巧

本文实例讲述了JavaScript动态提示输入框输入字数的方法.分享给大家供大家参考.具体如下: 在QQ空间里有小纸条那么一个功能,随着你在文本框中输入多少字,上面会动态提示你"已经输入多少字"和"还可以输入多少字",觉得挺好的,所以自己也试着做做,呵呵.   开始,我想很多人第一感觉就是通过js的 onkeydown或者onkeyup来做,中发现还可以用focus + setInterval() +blur来达到我们需要的效果,于是很快的我利用这种方法自己粗糙的写

Android EditText实现输入金额类型详解

前言 众所周知,Android中的editText默认的属性里面是没有金额类型的,所以要实现这个功能我们就必须自己动手丰衣足食.下面话不多说了,来一起看看详细的介绍吧. 一.EditText只允许输入数字.小数点. 首先要知道金额有两部分构成,整数部分和小数部分,要实现只输入数字和小数点很简单.自己查能很容易查到. 把type设置成InputType.TYPE_NUMBER_FLAG_DECIMAL|InputType.TYPE_CLASS_NUMBER 就行 那这样做有个缺点,小数部分可以有很

Android EditText 获得输入焦点 以及requestfocus()失效的问题

 最近做公司项目的时候,经常会遇到一个问题,就是我为某个控件如EditText设置requestfocus()的时候不管用,比如说登陆的时候,我判断下用户输入的密码,如果正确就登陆,错误就提示密码错误,并且输入框获取焦点,但是实际中确不起作用 package com.example.hfs.requestfocusdemo; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import

android-Android EditText 无法输入中文

问题描述 Android EditText 无法输入中文 请问 EditText 中在那儿查看中文输入被禁用了啊, 我的 无法输入中文,也无法长按之后选择输入法,软键盘也没弹出来呢. 先感谢各位的解答,谢谢~ 解决方案 http://zhidao.baidu.com/link?url=Ua1RPNc87Y81ycltiKbYElZm_PSFhoj2L4Us4WDiaHe_4O39T3Uds2-b5Sz0DjwYEmxZX1vKieH0HtlXzrqo6yrumGC3lgnr2hT7le1eJB_

Android开发中给EditText控件添加TextWatcher监听实现对输入字数的限制(推荐)_Android

 做这个功能是因为开发项目的时候,由于后台接口的一些参数的值的长度有要求,不能超过多少个字符,所以在编辑框中输入的字符是要有限制的. 下面就来看一下demo的实现过程: 首先,在xml控件中放置一个EditText控件,然后初始化该控件并对该控件添加文本监听.xml自己简单的设计一下,代码较为简单,直接上代码: package com.example.edittext; import android.app.Activity; import android.os.Bundle; import a