您的位置:首页 > 移动开发 > Android开发

Android中设置EditText显示或隐藏密码

2014-11-22 00:00 351 查看
摘要: Android edittext 显示 隐藏密码 文本监听

有时候经常会用到, 当输入框里有文字的时候, 点击一下就可以删除, 就像下图一样. 有时候是点击后面的图(这里图不是很准确,)是要显示隐藏的密码



这里就有两个东西要了解, 一个就是watch editText的内容变化, 然后就是这是editText中密码文字可见.

首先, 监听文字变化,

loginNameEditText = (EditText) findViewById(R.id.loginName);
//注册监听器
loginNameEditText.addTextChangedListener(myTextWatcher);
/**
* 添加文本内容改变监听器
*/
private TextWatcher myTextWatcherU = new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count)
{
// TODO Auto-generated method stub
// toastMgr.builder.display(s, 0);
if (s.length() != 0)
{
pet_login_user_clear = (Button) findViewById(R.id.pet_login_user_clear);
pet_login_user_clear.setVisibility(View.VISIBLE);
pet_login_user_clear
.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
loginNameEditText.setText("");
}
});
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after)
{
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s)
{
// TODO Auto-generated method stub
}
};

OK, 上面代码是判断出了editText中内容发生变化, 点击删除,设置editText中为空的实现.

下面是设置密码可见:

// 监听 密码 更改密码是否可见 同样是注册这个watcher
private TextWatcher myTextWatcher = new TextWatcher()
{
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after)
{
// TODO Auto-generated method stub
if (s.length() != 0)
{
pet_login_password_clear = (Button) findViewById(R.id.pet_login_password_clear);
pet_login_password_clear.setVisibility(View.VISIBLE);
pet_login_password_clear
.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
//OK 这里就设置了密码可见了
loginPasswordEditText
.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
//OK这里这是密码有不可见
loginPasswordEditText
.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
}
});
}
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count)
{
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s)
{
// TODO Auto-generated method stub
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息