在 android 按钮中实施运动事件以在 Edittext 上显示密码,同时单击备用按钮
Implement Motion Event in android button to show password on Edittext with alternate button clicks
我在 android 中有一个用于密码的编辑文本 field.The 编辑文本的输入类型是 password.To,在编辑文本的右侧,我有一个按钮可以当按钮为 clicked.I 时显示密码已使用 android.Below 中的运动事件实现 "Show Password" 部分是正常工作的代码:
EditText passwordET;
Button showPassword;
passwordET = (EditText) findViewById(R.id.passwordET);
showPassword = (Button) findViewById(R.id.showpasswordBtn);
showPassword.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
passwordET.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
return true;
case MotionEvent.ACTION_UP:
passwordET.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
return true;
}
return true;
}
});
当用户单击按钮时,上面的代码工作正常,显示密码,并且随着按钮触摸事件被删除,文本再次变为密码字段。但是,我想要的是,如果单击一次按钮,编辑文本将显示密码并且密码将一直显示直到单击按钮 again.So,再次单击按钮时,编辑文本将更改它的状态为密码类型 again.Can 谁能告诉我如何继续?
使用下面的代码:
定义一个标志,
boolean isPassWordShowing = false;
显示密码按钮的点击次数:
showPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isPassWordShowing)
{
passwordET.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
isPassWordShowing = false;
}
else
{
passwordET.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
isPassWordShowing = true;
}
}
});
我在 android 中有一个用于密码的编辑文本 field.The 编辑文本的输入类型是 password.To,在编辑文本的右侧,我有一个按钮可以当按钮为 clicked.I 时显示密码已使用 android.Below 中的运动事件实现 "Show Password" 部分是正常工作的代码:
EditText passwordET;
Button showPassword;
passwordET = (EditText) findViewById(R.id.passwordET);
showPassword = (Button) findViewById(R.id.showpasswordBtn);
showPassword.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
passwordET.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
return true;
case MotionEvent.ACTION_UP:
passwordET.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
return true;
}
return true;
}
});
当用户单击按钮时,上面的代码工作正常,显示密码,并且随着按钮触摸事件被删除,文本再次变为密码字段。但是,我想要的是,如果单击一次按钮,编辑文本将显示密码并且密码将一直显示直到单击按钮 again.So,再次单击按钮时,编辑文本将更改它的状态为密码类型 again.Can 谁能告诉我如何继续?
使用下面的代码:
定义一个标志,
boolean isPassWordShowing = false;
显示密码按钮的点击次数:
showPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isPassWordShowing)
{
passwordET.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
isPassWordShowing = false;
}
else
{
passwordET.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
isPassWordShowing = true;
}
}
});