如何动态密码无法输入设置EditText输入的文字为密码形式

在 SegmentFault,解决技术问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
一线的工程师、著名开源项目的作者们,都在这里:
获取验证码
已有账号?
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
在Android中如何获得动态动态添加的EditText的输入文本内容
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
最简单的方法,你EditText所在的activity 实现TextWatcher接口,给EditText设置监听edittext.addTextChangedListener(this);然后覆写afterTextChanged(Editable s)方法,
public void afterTextChanged(Editable s) {
String edt=edittext.getText().toString();
//edt就是你想要的内容
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:android代码设置EditText只输入数字、字母

如何设置EditText,使得只能输入数字或者某些字母呢?
一、设置EditText,只输入数字:
方法1:直接生成DigitsKeyListener对象就可以了。
et_1.setKeyListener(new
DigitsKeyListener(false,true));
方法2:在EditText中设置属性,android:numeric="integer"即只能输入整数,如下
android:singleLine="true"
android:numeric="integer"
方法3:新建一个char[],在里面添加允许输入的字符。如下
editText.setKeyListener(new
NumberKeyListener(){
protected char[] getAcceptedChars()
numberChars[]={'1','2','3','4','5','6','7','8','9','0',};
return numberC
二、设置EditText只能输入某些字母,如下面设置edtitext只能输入A—N,a—n这些字母。方法如下:
editText.setKeyListener(new
NumberKeyListener(){
protected char[] getAcceptedChars()
numberChars[]={'a,'b','c','d','e','f','A','B','C','D'};
return numberC
EditTet = (EditText) findViewById(R.id.et);// 方法1:建立一个DigitsKeyListener,然后把它设为你的EditText的KeyListenerDigitsKeyListener numericOnlyListener = new
DigitsKeyListener(false,true);et.setKeyListener(numericOnlyListener);//
方法2:为EditText设置一个NumberKeyListener,然后重写getAcceptedChars()方法和getInputType()方法et.setKeyListener(new NumberKeyListener() {@Overrideprotected char[] getAcceptedChars() {return new char[] { '1', '2', '3', '4', '5', '6', '7', '8','9', '0'
};}@Overridepublic int getInputType() {// TODO Auto-generated method stubreturn android.text.InputType.TYPE_CLASS_PHONE;}});
--------------------------------------------------------------------------------------------
01.EditT02.et = (EditText) findViewById(R.id.et);03.// 方法1:建立一个DigitsKeyListener,然后把它设为你的EditText的KeyListener04.DigitsKeyListener numericOnlyListener = new
DigitsKeyListener(false,true);05.et.setKeyListener(numericOnlyListener);06.//
方法2:为EditText设置一个NumberKeyListener,然后重写getAcceptedChars()方法和getInputType()方法07.et.setKeyListener(new NumberKeyListener() {08. @Override09. protected char[] getAcceptedChars() {10. return new char[] { '1', '2', '3', '4', '5', '6', '7', '8','9',
'0' };11. }12. @Override13. public int getInputType() {14. // TODO Auto-generated method stub15. return android.text.InputType.TYPE_CLASS_PHONE;16. }17.});
第一种可以输入小数。
第二种由于设置了TYPE_CLASS_PHONE所以只能输入整数。且比较灵活。
============================================
很多网友可能在开发时发现EditText有时候需要限制用户输入的内容,通常我们可以使用正则表达式直接限制,但是Android
已经为我们准备好了EditText的输入类型,这样的比正则要有以下几点优势:
1. 开发更简单,执行速度高效。 2.
输入法默认会根据情况变动,比如说设置为numeric后输入法会自动仅显示数字,不会出现Qwerty中的字母。
下面我们通过EditText的layout
xml文件中的相关属性来实现:
1. 密码框属性 android:password="true"
这条可以让EditText显示的内容自动为 星号,输入时内容会在1秒内变成*字样。
2. 纯数字 android:numeric="true"
这条可以让输入法自动变为数字输入键盘,同时仅允许0-9的数字输入
3. 仅允许 android:capitalize="cwj1987"
这样仅允许接受输入cwj1987,一般用于密码验证
下面是一些扩展的风格属性
android:editable="false"
设置EditText不可编辑
android:singleLine="true"
强制输入的内容在单行
android:ellipsize="end"
自动隐藏尾部溢出数据,一般用于文字内容过长一行无法全部显示时。一个原生的富文本编辑器,支持html的导入与导出。
786查看 &&
带删除功能的EditText;显示或者隐藏密码;可设置自动添加分隔符分割电话号码、银行卡号等;支持禁止Emoji表情符号输入。
870查看 &&
类似新浪微博的EditText,可@某人,#插入话题,表情等。
616查看 &&
这个库实现了Material Design中的Chips component ,分为可编辑的ChipsInput和ChipView。
703查看 &&
解决edittext在设置了lineSpacingExtra 或者 lineSpacingMultiplier时lineHeight和光标长度不匹配的问题
267查看 &&
实现了各种字数限制的输入框控件。
1037查看 &&
一个非常不错的搜索切换效果,实际效果很棒,爱不释手。
1382查看 &&
一个能识别@xxxx标志从而整块选择与删除的输入框控件。
533查看 &&
高仿微信数字键盘、支付键盘(密码键盘)
1617查看 &&
又一个Material Design的Search Bar控件。
1496查看 &&
标签输入控件。
1179查看 &&
(Android键盘面板冲突 布局闪动处理方案
1911查看 &&
一个可以监听软键盘的打开或者关闭的库。
1069查看 &&
开源表情键盘解决方案。API > 9
2398查看 &&
键入文字时呈现字符动画的EditText。支持PopIn (默认),Bottom Up,In from right,In from middle 四种动画。
532查看 &&
密码输入框,输入完成后显示动画。
922查看 &&

我要回帖

更多关于 工行动态密码无法输入 的文章

 

随机推荐