`
marine8888
  • 浏览: 544538 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

EditText 输入过滤

阅读更多

要显示不可编辑的文字,最简单的方法当然是使用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

    然而,有时候我们希望对用户的输入进行限制,比如只允许输入数字、字母或者特定格式的数据,这时我们就需要用到EditText的字符串过滤器——InputFilter。InputFilter是Android SDK提供的一种机制,用于控制EditText...

    android edittext表情过滤

    在Android开发中,EditText是用户输入文本的常见组件,它允许用户输入文本并进行各种操作。然而,有时候我们并不希望用户在EditText中输入特定类型的数据,例如系统或自定义的emoji表情。在这种情况下,我们需要实现...

    EditText限制输入中文或英文字数

    在Android开发中,`EditText` 是一个非常常用的控件,用于接收用户输入的文字信息。有时,根据应用的需求,我们可能需要对用户输入的内容进行限制,比如限制只能输入一定数量的中文字符或英文字符(包括字母和数字)...

    EditText默认提示颜色和输入变色

    这段代码将`EditText`的输入过滤器设置为长度过滤器,限制最多输入10个字符。 以上就是关于`EditText`默认提示颜色和输入变色的详细解释,以及如何限制`EditText`输入长度的方法。这些技巧在日常的Android应用开发...

    Android限制Edittext输入Emoji表情符

    总结,限制`EditText`输入Emoji表情符主要通过自定义`InputFilter`实现,通过检查输入字符的Unicode属性或者借助第三方库进行判断过滤。这有助于保持应用的数据一致性,避免因不期望的字符输入导致的问题。在实际...

    使用EditText+ListView并结合TextWatcher实现输入关键字筛选数据

    简单说下这个demo的实现,点击一个button,弹出一个类似spinner的界面,包含一个edittext和listview,当在输入框中键入关键字时,下面的listview所显示的数据可以随之进行筛选,点击item,将所选值返回给button。...

    Android限制只能输入中文的EditText

    这样,当用户尝试输入非中文字符时,系统会自动将其过滤掉。 6. **代码示例**: 在Activity或Fragment中,你可以这样做: ```java EditText editText = findViewById(R.id.edit_text); editText....

    安卓EditText输入框相关-EditText输入电话号码银行卡号自动添加空格分割.zip

    本压缩包文件"安卓EditText输入框相关-EditText输入电话号码银行卡号自动添加空格分割.zip"提供了这样的功能实现。 首先,我们需要了解EditText的基本用法。EditText是TextView的一个子类,继承了TextView的所有...

    -android搜索历史记录提示,在edittext输入框中输入,会在本地保存,下次输入会自动提示.rar

    1. 监听EditText输入: 使用`addTextChangedListener`方法可以添加一个TextWatcher监听器,这样每次文本发生变化时,都会触发相应的回调方法。例如: ```java editText.addTextChangedListener(new TextWatcher...

    edittext输入法表情过滤

    总结来说,"edittext输入法表情过滤"是一个涉及到字符编码、正则表达式、输入过滤以及可能的服务器端处理的综合问题。开发者需要根据实际需求和性能考虑,选择合适的过滤策略,确保应用能够正确处理用户输入,同时...

    Android的edittext在弹出框中实现输入自动千分位分隔和金额限制

    在Android开发中,`EditText` 是一个非常常用的控件,用于接收用户输入的数据。在一些特定的场景下,如财务应用或购物应用,我们可能需要对用户输入的金额进行格式化,使其显示为带有千分位分隔的样式,并且限制输入...

    android EditText 限制输入的4种方法【修正版】

    EditText的`setFilters()`方法可以接收一个Filter对象数组,用于过滤输入的字符。我们可以通过创建一个自定义的Filter类,重写`filter()`方法,实现自定义的过滤规则。例如,如果要禁止输入特殊字符,可以在filter...

    android 输入框EditText禁止输入Emoji表情符

    总的来说,禁止EditText输入Emoji表情符主要涉及到字符的Unicode检测、监听输入事件以及可能的正则匹配。在实际开发中,可以根据项目需求和性能考虑选择合适的方法。同时,也要注意,禁用Emoji输入可能会降低用户...

    android EditText 限制输入的4种方法

    以下是对标题和描述中提到的四种限制EditText输入方法的详细说明: 1. **设置输入类型(InputType)** Android提供了多种内置的输入类型,可以通过`editText.setInputType()`方法来设定。例如,如果只想允许用户...

    android 中如何限制 EditText 最大输入字符数

    在代码中,我们可以使用 `InputFilter` 过滤器来限制 EditText 的最大输入字符数。例如: ```java EditText editText = (EditText) findViewById(R.id.entry); editText.setFilters(new InputFilter[]{new ...

    安卓EditText输入框相关-实现EditText输入文字之后格式正确性认证功能.rar

    这个压缩包文件“实现EditText输入文字之后格式正确性认证功能.rar”似乎包含了一些示例代码,旨在帮助开发者学习如何实现这种验证机制。 首先,我们需要理解EditText的基本用法。EditText通常通过XML布局文件进行...

    edittext过滤字符串中的表情

    在Android开发中,EditText是一个非常常见的UI组件,用于接收用户输入的文字信息。然而,随着社交应用的普及,用户越来越倾向于使用各种表情来丰富他们的表达,包括系统自带的emoji表情。然而,有时候我们可能需要对...

    通过在EditText中输入,动态显示ListView中匹配的项

    在动态匹配过滤的场景中,适配器需要根据`EditText`中的输入内容进行过滤操作,筛选出符合条件的条目。 动态匹配过滤的实现步骤如下: 1. **创建数据源**:定义一个包含待过滤数据的列表,可以是ArrayList或其他可...

    基于EditText根据用户输入动态实现自动搜索功能

    在Android应用开发中,提供一个基于EditText的动态自动搜索功能是一项常见的需求,它能极大地提升用户体验,让用户在输入关键字时就能快速找到想要的信息。这里我们将深入探讨如何利用Android的EditText控件结合源码...

    android EditText禁止输入法表情

    因此,要阻止表情的输入,我们需要在`EditText`接收到输入时进行拦截和过滤。 一种常见的解决方案是自定义一个`InputFilter`,过滤掉所有的表情字符。表情字符通常是一些特殊的Unicode编码,可以通过比较字符的...

Global site tag (gtag.js) - Google Analytics