EditText输入类型文本密码不变

时间:2016-01-13 13:05:56

标签: java android android-edittext android-appwidget android-inputtype

我想在检查开关时将编辑文本的输入类型更改为可见。

Switch a =(Switch) findViewById(R.id.switch1);
    a.setText("visible");
    a.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if(isChecked){
                EditText pass = (EditText) findViewById(R.id.pass);
                pass.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
            }else{      
                EditText pass = (EditText) findViewById(R.id.pass);
                pass.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
            }
        }
    });

当我打开开关并使密码可见时它起作用但是当我关闭它时它仍然可见并且不会改变。

1 个答案:

答案 0 :(得分:3)

pass.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD)

在您的else语句中尝试此操作以显示密码类型变体。原因是因为它需要指定输入类是text类型。