android判断一个editview按键输入的是不是指定的a-z和A-Z,数字0-9,中文汉字和;分号,不是就不显示

键盘输入的是英文,汉字,数字或者分号;则在editview中显示输入的内容,其他都无效不显示... 键盘输入的是英文,汉字,数字或者 分号; 则在editview中显示输入的内容,其他都无效不显示 展开
 我来答
QQMSD8
推荐于2016-11-17 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部

Android中EditText可以设置android:digits,表示只能输入指定的内容。

也可用以下方式处理:

  1. 在xml中增加android:digith="0123456789" 表示只能输入0-9

  2. 在xml中 android:maxLength="10" 表示最大字符为10个字符

  3. 用正则表达式判断 "^[0-9a-zA-Z]$" 即可

Macrobin0626
2013-05-14 · 超过27用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:49.7万
展开全部
获得editview的字符串,如果无效,就substring,再赋值回去
更多追问追答
追问
我给Editview绑定了一个edt.addTextChangedListener(edt_watcher);监听器,目前只能实现符合正则表达式中的输入就让Button可见,其他的就是Button不可见。像你说的能直接在这段代码中实现,求帮忙修改下
TextWatcher edt_watcher = new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
if (s.length() > 0 && s.toString().matches("[a-zA-Z_0-9;]+")
|| s.toString().matches("[\u4e00-\u9fa5]+")) {
btn.setEnabled(true);
} else {
btn.setEnabled(false);
}
Log.v(tag, s + "======s");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
起名咋恁难
2013-05-14 · 超过34用户采纳过TA的回答
知道答主
回答量:79
采纳率:100%
帮助的人:54.5万
展开全部
用正则表达式判断
追问
其实重点在于怎么实现输入的不符合要求的内容怎么不显示, 正则判断我已经弄好了。

android判断一个editview按键输入的是不是指定的a-z和A-Z,数字0-9,中文汉字和;分号,不是就不显示。键盘输入的是英文,汉字,数字或者 分号; 则在editview中显示输入的内容,其他都无效不显示、重点如何实现不显示
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式