EditText 输入类型文本密码未更改

EditText input type text password not changing

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

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);
            }
        }
    });

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

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

在您的 else 语句中试试这个以显示密码类型变化。原因是因为它需要指定输入class是文本类型。