android EditText密码框,怎么让它只显示密码点,不让它显示最后一位输入的字符? 20

你们看,他会延时显示最后输入的那一位字符,这会存在安全隐患,怎么才能使它直接显示密码点啊。在线等。。。求帮助谢谢各位了,我终于解决了,原来这是在模拟器里面设置的,和程序无... 你们看,他会延时显示最后输入的那一位字符,这会存在安全隐患,怎么才能使它直接显示密码点啊。
在线等。。。求帮助
谢谢各位了,我终于解决了,原来这是在模拟器里面设置的,和程序无关联的。
展开
 我来答
姜容g
高粉答主

2018-03-30 · 醉心答题,欢迎关注
知道小有建树答主
回答量:251
采纳率:100%
帮助的人:7.4万
展开全部

布局里加上这一句:
android:inputType="textPassword"就好了。

方法1::

在布局文件中设置文本编辑框属性作字符数限制,android:maxLength="10" 即限制最大输入字符个数为10。

方法2:在代码中使用InputFilter 进行过滤
public class MyActivity extends Activity 

{
private EditText text;
@Override
public void onCreate(Bundle savedInstanceState)

super.onCreate(savedInstanceState);
setContentView(R.layout.main);  

text = (EditText)findViewById(R.id.text);
text .setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)});
}  
}

方法3:利用 TextWatcher 进行监听
继承TextWatcher接口,对输入进行监听
pblic class MaxLengthWatcher implements TextWatcher

{  

private int maxLen = 0;
private EditText editText = null;  

public MaxLengthWatcher(int maxLen, EditText editText) {
this.maxLen = maxLen;
this.editText = editText;
}  

public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
Editable editable = editText.getText();
int len = editable.length();
if(len > maxLen)
{
int selEndIndex = Selection.getSelectionEnd(editable);
String str = editable.toString();
//截取新字符串
String newStr = str.substring(0,maxLen);
editText.setText(newStr);
editable = editText.getText();  

//新字符串的长度
int newLen = editable.length();
//旧光标位置超过字符串长度
if(selEndIndex > newLen)
{
selEndIndex = editable.length();
}
//设置新光标所在的位置
Selection.setSelection(editable, selEndIndex);  

}
}


@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}


@Override
public void afterTextChanged(Editable s) {
}  

}

在activity中为EditText添加监听
public class MyActivity extends Activity {
private EditText text;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);  

text = (EditText) findViewById(R.id.entry);
//限制为10
text.addTextChangedListener(new MaxLengthWatcher(10, editText));  

}  
}

fangext520
2013-07-26
知道答主
回答量:15
采纳率:0%
帮助的人:4.5万
展开全部
你可以这样搞。。。自己监听键盘然后用户输入的你在后台记住。。。但是edittext你自己设置一个点或者*号都可以。。。希望能帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mryangbo001
2013-05-03
知道答主
回答量:18
采纳率:0%
帮助的人:8.1万
展开全部
这个和手机有关系吧android:inputType="textPassword"这句话是不起作用的,有些手机不显示,而有些手机是要显示的
追问
没用 每次输入一个字符还是会显示一会儿
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pkxutao
推荐于2018-02-26 · TA获得超过167个赞
知道小有建树答主
回答量:264
采纳率:0%
帮助的人:248万
展开全部
布局里加上这一句:
android:inputType="textPassword"
追问
没用 每次输入一个字符还是会显示一会儿
追答
正常的不就是这样的么?不然别人怎么知道自己输了啥?  如果你真要一开始就不显示,那就监控edittext内容改变,然后settext成星号吧
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韩公子吃瓜
2013-05-17
知道答主
回答量:27
采纳率:0%
帮助的人:11.9万
展开全部
哥们,手机毕竟不是电脑,输入密码准确度那么高。
其实大多数的手机应用输入密码时都是这个样子的需要延迟一会,让用户确认自己输入是否正确。
推荐你还是别改了,以后用户体验会很差的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式