`
yoyotota
  • 浏览: 63734 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

EditText输入事件截获与监听

 
阅读更多
  本节介绍一下EditText中进行文字截获和事件监听。
  预期目标:如下图,输入框中每输入一个字符,下面的TextView可以迅速的显示出来输入框中的内容 


  1.第一种实现方法:使用setOnKeyListener(),不过这种方式只能监听硬键盘事件
 edittext.setOnKeyListener(new View.OnKeyListener() {			
			@Override
			public boolean onKey(View v, int keyCode, KeyEvent event) {
				textview.setText(edittext.getText());
				return false;
			}
		});


2.使用TextWatcher类,这种方式是可以监听软键盘和硬键盘的,我们只需要实现onTextChanged方法即可,另外TextWatcher还提供了beforeTextChanged和afterTextChanged方法,用于更加详细的输入监听处理

edittext.addTextChangedListener(new TextWatcher() {			
			@Override
			public void onTextChanged(CharSequence s, int start, int before, int count) {
				textview.setText(edittext.getText());
			}
			
			@Override
			public void beforeTextChanged(CharSequence s, int start, int count,
					int after) {				
			}
			
			@Override
			public void afterTextChanged(Editable s) {								
			}
		});


3、代码片段:实现当输入到最大值时则不允许再输入了,另外,由于EditText并没有提供给我们EditText的禁止输入功能,以下方法也实现了此功能。
private void setEditable(EditText mEdit, int maxLength, boolean value) {
		if (value) {
			mEdit.setFilters(new InputFilter[] { new MyEditFilter(maxLength) });
			mEdit.setCursorVisible(true);
			mEdit.setFocusableInTouchMode(true);
			mEdit.requestFocus();
		} else {
			mEdit.setFilters(new InputFilter[] { new InputFilter() {
				@Override
				public CharSequence filter(CharSequence source, int start,
						int end, Spanned dest, int dstart, int dend) {
					return source.length() < 1 ? dest.subSequence(dstart, dend)
							: "";
				}
			} });
			mEdit.setCursorVisible(false);
			mEdit.setFocusableInTouchMode(false);
			mEdit.clearFocus();
		}
	}


  • 大小: 2.7 KB
3
2
分享到:
评论
1 楼 zx4335 2013-06-08  
lz的东西很有效!谢谢

相关推荐

    EditText监听输入完成

    在PhoneGap中,你需要使用类似`cordova-plugin-native-keyboard`这样的插件来监听键盘事件,然后通过JavaScript与Java原生代码交互来实现输入完成的监听。具体步骤包括安装插件、注册监听器以及通过`cordova.exec()`...

    Android中ListView每个条目中有EditText,右下角监听现实剩余输入数字

    这就是在Android中实现ListView每个条目含有EditText并监听输入字符数的一种常见方法。这个例子展示了如何通过自定义适配器、使用TextWatcher和回调来达到我们的需求。希望这个示例能对你有所帮助,也欢迎进一步的...

    EditText监听粘贴内容

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

    事件监听器-EditText的事件监听

    本篇将详细介绍EditText的事件监听。 首先,我们来看EditText。EditText是Android系统中用于接收用户文本输入的控件。为了对EditText的事件进行监听,我们需要使用`OnKeyListener`接口。这个接口定义了一个方法`...

    多个EditText监听

    注册时每个EditText里面都输入内容后 注册按钮才能点击

    EditText输入¥监听 删除及添加

    总之,通过使用 `TextWatcher` 监听 `EditText` 的文本变化,我们可以轻松实现自动添加或移除 "¥" 符号的功能,从而为用户提供更好的输入体验。在编写这类功能时,一定要注意对用户操作的正确响应,防止出现异常...

    Android 监听EditText变化

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

    edittext输入超过长度自动缩小文字大小并动态记录可输入文字

    实现这个功能的关键在于监听EditText的文本变化事件,通常是通过设置`TextWatcher`来完成。以下是一个简化的步骤: 1. **设置最大输入长度**:首先,我们需要为EditText设置一个最大输入长度,可以通过`set...

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

    实现这个功能,通常有两种方法:一种是通过监听`EditText`的文本变化事件,另一种是在输入时进行实时校验。下面将详细讲解这两种方法。 ### 监听文本变化事件 我们可以使用`TextWatcher`监听`EditText`中的文本...

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

    本文将详细介绍如何监听`EditText`输入的字符长度,并根据需要进行相应的操作。 首先,我们需要在布局文件中定义一个`EditText`,并为其设置一个`TextWatcher`监听器。`TextWatcher`是Android提供的一个接口,它...

    同步列表选中项及EditText监听

    在Android开发中,"同步列表选中项及EditText监听"是一个常见的交互设计,涉及到多个UI组件的协同工作和事件处理。下面将详细讲解这个主题所涵盖的知识点。 首先,我们来看"列表选中项同步"。这通常指的是在一个...

    多个EditText 连续输入密码框

    这些可以通过`TextWatcher`监听输入内容来实现。 5. **TestEditText**:这个文件名可能代表了一个测试用例或者是一个实现了上述功能的自定义`EditText`组件。如果是自定义组件,可能包含了一些额外的逻辑,例如自动...

    EditText实时监听,附带switch控件

    在本例中,我们将探讨如何实现`EditText`的实时监听以及结合`Switch`控件来控制功能的开启与关闭。 首先,我们要实现`EditText`的实时监听,可以使用`TextWatcher`接口。`TextWatcher`提供三个方法:`...

    EditText焦点的自动跳转

    在Android开发中,`EditText`是用户界面中用于接收用户输入文本的重要组件。有时,我们希望用户在完成一个`EditText`的输入后,能够自动跳转到下一个`EditText`进行继续输入,这样的交互设计可以提高用户体验,使得...

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

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

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

    5. **提交数据**:当用户完成编辑并触发某种事件(如点击按钮)时,遍历Adapter的列表,收集每个Item的数据模型对象,这样就能得到所有EditText的输入内容。 在提供的"ListviewAllelection"示例中,很可能包含了...

    Android限制只能输入中文的EditText

    2. **监听输入内容**: 要监听EditText的输入,我们需要使用`addTextChangedListener()`方法,添加一个TextWatcher对象。TextWatcher接口有三个方法:`beforeTextChanged()`, `onTextChanged()`, 和 `...

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

    当用户在EditText中输入内容时,我们可以监听输入事件,捕获用户的输入并保存为历史记录。Android提供了许多API来帮助我们实现这一目标。 1. 监听EditText输入: 使用`addTextChangedListener`方法可以添加一个...

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

    默认情况下,`EditText` 的提示文本(hint)颜色较淡,当用户开始输入时,提示文本通常会消失,输入内容的颜色与普通文字颜色相同。在某些设计需求中,我们可能希望自定义`EditText`的提示颜色,或者让输入的文字...

    EditText监听方法,实时的判断输入多少字符

    最近在写一个小项目,其中有一点用到了显示EditText中输入了多少个字符,像微博中显示剩余多少字符的功能。在EditText提供了一个方法addTextChangedListener实现对输入文本的监控。下边是我自己写的一个Demo。 代码...

Global site tag (gtag.js) - Google Analytics