android中用代码设置edittext属性为密码,Android中设置EditText显示或隐藏密码

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

7e9a9a969403d717b606379943b01c07.png

这里就有两个东西要了解, 一个就是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

}

};

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值