2017-09-22 22 views
1

我想用下面的數據綁定表達式顯示密碼的舊方式之間切換的inputType:如何設置機器人:使用數據綁定

android:password="@{isMyFlagTrue}" 

然而,當我嘗試到現在代替的使用inputType不推薦使用密碼屬性,我似乎無法成功設置密碼類型。我曾嘗試過:

android:inputType="@{isMyFlagTrue? InputType.TYPE_TEXT_VARIATION_PASSWORD : InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD)}" 

但是這對EditText視圖的inputType沒有影響。即使當我嘗試將其直接設置到隱形品種時,它仍然可見。

有什麼建議嗎?

+0

輸入型使用數據綁定您可以只添加一個TextWatcher到您的EditText和處理輸入自己。更容易,可定製。 –

+0

是的,但NJ一個texWatcher只需要一個'可編輯的s'值。然而,輸入類型取決於inputString – Thalatta

+1

範圍之外的內容謝謝澄清。我只是建議您可以使用TextWatcher在輸入字段中顯示輸入之前解釋輸入,並用星號標記替換,而可以將該值存儲在局部變量中。 –

回答

1

您可以設置類似

<EditText 
    ... 
    android:inputType='@{condition ? (InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD) : InputType.TYPE_CLASS_TEXT }' 
    /> 
+0

@Phan_Van_Linh是用'|'表示的包含OR嗎?這是做什麼的? – Thalatta

+0

這是我們設置inputType programmaticalyl的方法:https://stackoverflow.com/questions/2586301/set-inputtype-for-an-edittext。那麼當使用數據綁定時,我們應該喜歡它 –