在編輯一個EditText我有兩個EditTexts
用戶名和密碼,每一個都具有文本「輸入用戶名」和「輸入密碼」分別作爲缺省的文本。問題而焦點變化
他們的文字顏色是淺灰色。現在,當他們專注於焦點時,他們應該將文本顏色以及密碼edittext的inputType更改爲密碼類型(除其他外,其他內容除外)。
它最初成功地將文本顏色更改爲黑色,但未能更改並且inputType從不更改。
請給我建議,我欠缺的,下面是我的代碼:
OnFocusChangeListener pwListener = new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus) {
//if it has focus then clear the text and make text black
if(((EditText) v).getText().toString().compareTo(getString(R.string.passwordField)) == 0) {
((EditText) v).setTextColor(R.color.Black);
((EditText) v).setText(R.string.blank);
((EditText) v).setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
}
} else if(!hasFocus) {
//if it loses focus and nothing was inputed then change back to default
if(isEmpty(((EditText) v).getText().toString())) {
((EditText) v).setTextColor(R.color.TextInput);
((EditText) v).setText(R.string.passwordField);
((EditText) v).setInputType(InputType.TYPE_TEXT_VARIATION_PERSON_NAME);
}
}
}
};
那密碼編輯文本,這是它的XML:
<EditText
android:id="@+id/passwordInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:layout_marginTop="5dip"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:paddingTop="15dip"
android:paddingBottom="15dip"
android:text="@string/passwordField"
android:textColor="@color/TextInput"
android:textSize="25sp"
android:gravity="center_vertical"
android:ems="10" >
</EditText>
哇哈哈,將已經救了我這麼多時間,如果我只是早點知道。謝謝 –
Upvote並接受帖子,如果你覺得有用。 –