2014-01-16 89 views
3

我使用附加到我的EditTextPreferenceonPreferenceChangeListener,該圖顯示摘要中首選項的值。這是它的樣子:如何掩蓋EditTextPreference的摘要,當它是一個被屏蔽的密碼字段?

public boolean onPreferenceChange(Preference prePreference, Object objValue) { 
    if (prePreference instanceof EditTextPreference) { 
     //TODO: Check if password type and show chacraters 
     prePreference.setSummary(objValue.toString()); 
    } 
    return true; 
} 

如果該字段是一個被屏蔽的密碼字段,我想在摘要中顯示默認的密碼屏蔽字符。下面是一個掩碼字段的示例:

<EditTextPreference 
     android:inputType="textPassword" 
     android:key="password" 
     android:title="@string/password" /> 
+0

要明確一點,你想要的是獲得系統掩碼字符的方法(即默認'。')? –

回答

9

喜歡的東西:

EditText edit = ((EditTextPreference) prePreference).getEditText(); 
String pref = edit.getTransformationMethod().getTransformation(objValue.toString(), edit).toString(); 
prePreference.setSummary(pref); 
0

爲什麼不檢查文本大小並將每個整數的字符放在文本大小中?或者我誤解了你?

還是來看看這個鏈接:

Hide password/viewpassword

0

更方便的是,不調用生成bindPreferenceSummaryToValue(這反過來又要求setSummary)爲密碼偏好。

請注意,您不應將密碼存儲在首選項中,而應在需要時從密碼提示,從服務獲取令牌並存儲令牌。