1

我想要將編輯文本的輸入類型更改爲在檢查開關時可見。EditText輸入類型文本密碼不更改

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

它的工作原理,當我打開開關,使密碼可見的,但是當我把它關掉它仍然是可見的,不會改變。

回答

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

在您的其他語句中試試這個顯示密碼類型變化。原因是因爲它需要指定輸入類是文本類型。

+0

如何寫|在佈局文件時使用數據綁定。我試過這個:android:inputType ='@ {oneField.IsMasked == true? (InputType.TYPE_CLASS_TEXT | inputType.TYPE_TEXT_VARIATION_PASSWORD):InputType.TYPE_CLASS_TEXT}'它不編譯 –

相關問題