要显示不可编辑的文字,最简单的方法当然是使用TextView,但有时出于某种原因,可能需要用EditText来显示文字,并且让其不可编辑。EditText本身是没有方法来设置使得其不可编辑的,但方法总是可以想出来的。
(1)setFilters
InputFilter用来对输入的文字进行过滤,需要实现一个方法:
public abstract CharSequence filter (CharSequence source, int start, int end, Spanned dest, int dstart, int dend)
其中source代表你输入的文字,用键盘输入则为单个字符,start为0,end为1;粘帖时source为一串字符。
dest为现在显示的字符串,dstart,dend为光标所在字符串的位置。
下面的InputFilter为当输入任何字符时,替换为空字符(相当于不输入),如果按删除键时候,保持原来的字符,这时dstart退了一格,所以保持字符应该为dst.subSequence(dstart, dend)。代码如下:
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/van_ni/archive/2010/06/28/5699549.aspx
editText.setFilters(new InputFilter[] { new InputFilter() {
public CharSequence filter(CharSequence src, int start, int end, Spanned dst, int dstart, int dend) {
Log.d(TAG, "src=" + src + ";start=" + start + ";end=" + end);
Log.d(TAG, "dst=" + dst + ";dstart=" + dstart + ";dend=" + dend);
return src.length() < 1 ? dst.subSequence(dstart, dend) : "";
}
} });
分享到:
相关推荐
Android开发之EditText字符串过滤器InputFilter
简单说下这个demo的实现,点击一个button,弹出一个类似spinner的界面,包含一个edittext和listview,当在输入框中键入关键字时,下面的listview所显示的数据可以随之进行筛选,点击item,将所选值返回给button。...
自己做的一个自定义控件,里面主要是自定以弹出框,对edittext的回调处理和edittext输入时自动千分位分隔和金额限制
登录注册时,Android本身的密码输入框无法限制汉字输入,此方法可以直接过滤,非常方便
通过在edittext输入内容,实现动态匹配更新listview的数据(内含3个项目,工程FilteListView3是我自己将前面两者整合在一起)
利用emoji表情的编码 将其过滤掉
EditText是Android的文本输入框控件,这地球人应该都知道的了,但是默认的EditText是无所不能输入的,有时候我们需要设计一 款软件,而且是给小孩子使用的,而且需要屏蔽以下未成年人所不能涉及的内容,也就是屏蔽...
有时候我们需要限制EditText输入的字符类型,如空格,特殊字符等,这时候我们可以使用系统提供的输入过滤器——InputFilter。具体实现如下: /** * 禁止EditText输入空格 * @param editText */ public static ...
本文实例讲述了android同时控制EditText输入字符个数和禁止特殊字符输入的方法。分享给大家供大家参考。具体分析如下: 这里总结了三种方法如下: 方法一: 1. 引用两个命名空间: import android.text.TextWatcher...
本文主要介绍了Android中使用EditText控制禁止输入空格和回车的实现代码。具有很好的参考价值。下面跟着小编一起来看下吧
InputFilterEditTextDEmo 是自定义EditText,来对输入的空格,特殊字符,emoji进行过滤,还可以对输入的长度进行限制。
Android安卓禁止输入表情符号。...可能当时你测试的时候没有什么问题,但是项目上线后就会有很多问题,错误率很高,这里想到了通过过滤器来拦截用户输入的字符,可以避免截取字符串角标越界的问题。
一.EditText只允许输入数字、小数点。 首先要知道金额有两部分构成,整数部分和小数部分,要实现只输入数字和小数点很简单。自己查能很容易查到。 把type设置成InputType.TYPE_NUMBER_FLAG_DECIMAL|InputType.TYPE_...
EditText内容格式化控件 XEditText 和 输入内容过滤器工具类。 GitHub地址:https://github.com/itrenjunhua/XEditText
最近在工作终于遇到一个问题,因为第三方输入法表情的问题导致Android中TextView的内容显示异常,只能想办法解决了,下面这篇文章主要记录了在处理Android中EditText屏蔽第三方输入法表情的方法,需要的朋友可以参考...
android输入框EditText禁止输入Emoji表情符 转载请注明出处: : 通过添加EditText的addTextChangedListener()监听来过滤Emoji表情: onTextChanged() beforeTextChanged() 使用方法 在开发中可能多处会用到...
最近在做的项目中用户编辑资料的时候不希望用户输入表情,如果用户输入表情的话上传给后台要报错,所以需要我们前端做一个判断。...这里想到了通过过滤器来拦截用户输入的字符,可以避免截取字符串角标越界的问题。 I
使用EditText和ListView实现的可输入筛选的Spinner,输入后触发自动搜索,搜索支持原字符,汉字支持拼音全拼和首字母。代码为demo使用示例,可直接在AndroidStudio中打开使用。
MaskedEditText是一个简单的Android EditText,具有可自定义的输入掩码支持。 例如,您需要用户以+7(XXX)XXX-XX-XX格式指定他的电话。 您还知道用户应该只能输入数字,但负号,方括号和“ +7”应会自动出现。 ...