`
dengzhangtao
  • 浏览: 677479 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android中监听EditText文本输入

阅读更多

平时在做android开发过程中经常要用到EditText,有时候可能需要监听你在TextView中输入的字数的状态和变化,以便于我们能做相应的提示和操作。我们可以通过下面的方式来实现。

  1. class EditChangedListener implements TextWatcher {  
  2.        private CharSequence temp;//监听前的文本  
  3.        private int editStart;//光标开始位置  
  4.        private int editEnd;//光标结束位置  
  5.        private final int charMaxNum = 10;  
  6.   
  7.        @Override  
  8.        public void beforeTextChanged(CharSequence s, int start, int count, int after) {  
  9.            if (DEBUG)  
  10.                Log.i(TAG, "输入文本之前的状态");  
  11.            temp = s;  
  12.        }  
  13.   
  14.        @Override  
  15.        public void onTextChanged(CharSequence s, int start, int before, int count) {  
  16.            if (DEBUG)  
  17.                Log.i(TAG, "输入文字中的状态,count是一次性输入字符数");  
  18.            mTvAvailableCharNum.setText("还能输入" + (charMaxNum - s.length()) + "字符");  
  19.   
  20.        }  
  21.   
  22.        @Override  
  23.        public void afterTextChanged(Editable s) {  
  24.            if (DEBUG)  
  25.                Log.i(TAG, "输入文字后的状态");  
  26.            /** 得到光标开始和结束位置 ,超过最大数后记录刚超出的数字索引进行控制 */  
  27.            editStart = mEditTextMsg.getSelectionStart();  
  28.            editEnd = mEditTextMsg.getSelectionEnd();  
  29.            if (temp.length() > charMaxNum) {  
  30.                Toast.makeText(getApplicationContext(), "你输入的字数已经超过了限制!", Toast.LENGTH_LONG).show();  
  31.                s.delete(editStart - 1, editEnd);  
  32.                int tempSelection = editStart;  
  33.                mEditTextMsg.setText(s);  
  34.                mEditTextMsg.setSelection(tempSelection);  
  35.            }  
  36.   
  37.        }  
  38.    };  

加上监听的事件。

  1. mEditTextMsg.addTextChangedListener(new EditChangedListener());  

效果图:

 

 

 
0
0
分享到:
评论

相关推荐

    Android中监听EditText文本输入的代码清单.pdf

    以下将详细讲解如何在Android中设置监听EditText文本输入的代码。 首先,我们需要创建一个Activity,并在布局文件中定义EditText。在给出的代码示例中,`activity_main.xml`布局文件包含了一个EditText控件,其id为...

    Android编程实现实时监听EditText文本输入的方法

    Android编程实现实时监听EditText文本输入的方法是Android开发中的一项重要技能。本文将详细介绍如何使用EditText控件和事件响应来实现实时监听EditText文本输入的方法。 一、EditText控件概述 EditText控件是...

    Android 监听EditText变化

    在Android开发中,`EditText`是用户输入文本的视图组件,经常用于收集用户的文本信息。为了能够实时响应`EditText`中的文本变化,开发者通常会使用`TextWatcher`监听器。`TextWatcher`是一个接口,提供了三个方法,...

    Android-AndroidEditText多行文本输入字数统计限制数量

    在Android开发中,`EditText`组件是用于接收用户输入文本的关键元素。在许多应用场景中,我们可能需要对用户的输入进行一些限制,比如限制输入的字数。本篇将深入探讨如何实现`Android EditText`的多行文本输入字数...

    EditText监听输入完成

    在Android开发中,`EditText` 是一个非常重要的组件,它允许用户输入文本并显示文本内容。在许多场景下,我们可能需要监听用户在`EditText`中的输入行为,特别是在用户完成输入后执行某些操作,比如验证输入内容、...

    Android限制只能输入中文的EditText

    要监听EditText的输入,我们需要使用`addTextChangedListener()`方法,添加一个TextWatcher对象。TextWatcher接口有三个方法:`beforeTextChanged()`, `onTextChanged()`, 和 `afterTextChanged()`,分别在文本变化...

    Android--EditText的富文本组件

    在Android开发中,EditText是用于用户输入文本的基本控件,但有时我们可能需要更复杂的文本编辑功能,如插入图片、格式化文本等,这就是富文本编辑器的角色。本篇文章将详细探讨如何在Android中实现一个基于原生...

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

    在上面的代码中,我们创建了一个 `MaxLengthWatcher` 类,实现了 `TextWatcher` 接口,并在 `onTextChanged` 方法中监听EditText 的输入内容,并在输入超出最大长度时进行处理。 限制 EditText 最大输入字符数可以...

    监听edittext输入的字符长度并进行相应处理

    在Android开发中,`EditText` 是一个非常常用的控件,用户可以在此输入文本。有时我们需要对用户输入的字符长度进行限制或处理,例如限制短信验证码的长度、用户名的长度等。本文将详细介绍如何监听`EditText`输入的...

    EditText监听粘贴内容

    EditText禁止粘贴内容输入,修改粘贴内容, 参考: 禁止EditText 输入粘贴版内容 http://blog.csdn.net/xiaobijia/article/details/41081595

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

    在Android开发中,EditText是用户输入文本的常见组件,但有时我们不希望用户在输入框中输入 Emoji 表情符号。这是因为Emoji可能会引起数据处理问题,例如数据库存储、后端接口解析等。本文将详细讲解如何在Android中...

    Android中ListView多个Edittext获取输入内容.rar

    然而,当ListView的每个Item中包含多个EditText时,获取用户在这些EditText中输入的内容可能会变得复杂。本资源"Android中ListView多个Edittext获取输入内容.rar"显然是为了帮助开发者解决这个问题。 首先,我们来...

    多个EditText 连续输入密码框

    首先,`EditText`是Android中的一个文本输入控件,用户可以在其中输入和编辑文本。在密码框的应用中,通常会设置`inputType`属性为`textPassword`,以便显示为星号或圆点,保护用户的隐私。 要实现多个`EditText`的...

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

    TextWatcher是一个接口,用于监听EditText中的文字变化。我们可以实现`beforeTextChanged()`, `onTextChanged()`, `afterTextChanged()`三个方法,对输入的字符进行实时验证和处理。例如,如果要限制输入长度为10,...

    Android自定义EditText,实现分割输入内容效果

    这种自定义功能可以通过监听EditText的文本变化事件并处理输入内容来实现。 1. 创建自定义EditText类: 首先,我们需要创建一个继承自EditText的自定义类。在Java代码中,这可以通过以下方式完成: ```java public...

    android EditText 限制输入的4种方法

    TextWatcher是一个接口,可以监听EditText中的文本变化。通过实现`beforeTextChanged()`、`onTextChanged()`和`afterTextChanged()`方法,可以在文本改变前、改变中和改变后进行处理。这种方法更加灵活,可以实现...

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

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

    安卓Android源码——(EditText文本编辑).zip

    这个压缩包文件“安卓Android源码——(EditText文本编辑).zip”很可能包含了一个关于如何自定义和优化`EditText`的示例项目,或者是一些深入解析`EditText`工作原理的代码和文档。下面我们将详细探讨`EditText`在...

    android EditText在输入的时候输入框上方现悬浮文字提示

    在Android开发中,`EditText`是用于用户输入文本的基本组件,常常用于登录、注册或表单填写等场景。为了提供更好的用户体验,有时我们希望在用户输入时,`EditText`上方显示一个悬浮的文字提示,这种功能被称为`...

Global site tag (gtag.js) - Google Analytics