没有合适的资源?快使用搜索试试~ 我知道了~
Android开发中给EditText控件添加TextWatcher监听实现对输入字数的限制(推荐)
1 下载量 85 浏览量
2020-09-01
03:42:42
上传
评论
收藏 57KB PDF 举报
温馨提示
试读
2页
主要介绍了Android开发中给EditText控件添加TextWatcher监听实现对输入字数的限制(推荐)的相关资料,需要的朋友可以参考下
资源推荐
资源详情
资源评论
Android开发中给开发中给EditText控件添加控件添加TextWatcher监听实现对监听实现对
输入字数的限制输入字数的限制(推荐推荐)
主要介绍了Android开发中给EditText控件添加TextWatcher监听实现对输入字数的限制(推荐)的相关资料,需要的
朋友可以参考下
做这个功能是因为开发项目的时候,由于后台接口的一些参数的值的长度有要求,不能超过多少个字符,所以在编辑框中输
入的字符是要有限制的。
下面就来看一下demo的实现过程:
首先,在xml控件中放置一个EditText控件,然后初始化该控件并对该控件添加文本监听。xml自己简单的设计一下,代码较为
简单,直接上代码:
package com.example.edittext;
import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;
public class MainActivity extends Activity {
private static final int LIMIT = 10;// 最大字数限制
private EditText et_word_limit;// EditText控件
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取EditText控件
et_word_limit = (EditText) findViewById(R.id.editText1);
setListeners();// 编辑框添加文本监听
}
private void setListeners() {
// editText控件添加文本变化监听
et_word_limit.addTextChangedListener(new MyTextWatcher(et_word_limit, LIMIT, MainActivity.this));
}
}
上面的代码中给EditText控件添加文本监听的时候,我用的是自定义的TextWatcher,需要传过去的参数有三个,方法为:
// editText控件添加文本变化监听
et_word_limit.addTextChangedListener(new MyTextWatcher(et_word_limit, LIMIT, MainActivity.this));
一个是EditText控件,即要添加监听的那个编辑框控件;
一个是字符的限制数目,即最多能在编辑框中输入的内容;
一个是当前类的上下文对象。
当然,你要是还想再添加一个TextView控件实时显示输入的字符个数的话,那就再传一个参数过去就行。反正具体需求,具
体实现就行了,变化也不大,自己学会变通。
最关键的类,自定义的TextWatcher类如下,代码如下:
package com.example.edittext;
import android.content.Context;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.widget.EditText;
import android.widget.Toast;
/**
* 自定义MyTextWatcher类实现TextWatcher接口,并重写相关方法
*
* @author 邹奇
*
*/
public class MyTextWatcher implements TextWatcher {
private int limit;// 字符个数限制
private EditText text;// 编辑框控件
private Context context;// 上下文对象
int cursor = 0;// 用来记录输入字符的时候光标的位置
int before_length;// 用来标注输入某一内容之前的编辑框中的内容的长度
public MyTextWatcher(EditText text, int limit,
Context context) {
this.limit = limit;
this.text = text;
this.context = context;
资源评论
weixin_38665629
- 粉丝: 4
- 资源: 958
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功