永发信息网

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

答案:5  悬赏:0  手机版
解决时间 2021-11-07 13:43
  • 提问者网友:愿为果
  • 2021-11-07 07:41
android EditText密码框,怎么让它只显示密码点,不让它显示最后一位输入的字符?
最佳答案
  • 五星知识达人网友:冷風如刀
  • 2021-11-07 09:10
你可以这样搞。。。自己监听键盘然后用户输入的你在后台记住。。。但是edittext你自己设置一个点或者*号都可以。。。希望能帮到你
全部回答
  • 1楼网友:爱难随人意
  • 2021-11-07 12:48
这个和手机有关系吧android:inputType="textPassword"这句话是不起作用的,有些手机不显示,而有些手机是要显示的追问没用 每次输入一个字符还是会显示一会儿
  • 2楼网友:迷人又混蛋
  • 2021-11-07 11:33
哥们,手机毕竟不是电脑,输入密码准确度那么高。
其实大多数的手机应用输入密码时都是这个样子的需要延迟一会,让用户确认自己输入是否正确。
推荐你还是别改了,以后用户体验会很差的
  • 3楼网友:枭雄戏美人
  • 2021-11-07 11:15
布局里加上这一句:
android:inputType="textPassword"追问没用 每次输入一个字符还是会显示一会儿追答正常的不就是这样的么?不然别人怎么知道自己输了啥? 如果你真要一开始就不显示,那就监控edittext内容改变,然后settext成星号吧
  • 4楼网友:一袍清酒付
  • 2021-11-07 10:49

布局里加上这一句:
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));  

}  
}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯