我有以下代碼 - 當EditText
在焦點之下時,我希望提示消失,否則顯示回來。在調試中,我看到EditText
的焦點已經丟失並且失去焦點(setHint
代碼行被執行),但是沒有顯示提示(提示刪除但沒有以失去的焦點返回)。我仔細檢查了代碼中的其他地方,除了在下面的hasFocus
以外,我沒有用其他東西覆蓋它。Android EditText設置提示以編程方式不起作用
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
editText.setHint(getString(R.string.empty_string));
} else {
editText.setHint(getString(R.string.hint_string));
}
}
});
<EditText
android:layout_width="match_parent"
android:layout_height="56dp"
android:hint="@string/hint_string"
android:textSize="22sp"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:fontFamily="sans-serif-light"
android:layout_marginLeft="7dp"
android:layout_marginRight="7dp"
android:paddingLeft="24dp"
android:paddingRight="24dp"
android:elevation="3dp"
android:textCursorDrawable="@null"
android:background="@color/primary_accent"
android:layout_below="@id/main_activity_toolbar"
android:layout_gravity="center_horizontal" />
感謝,就是從我做過什麼區別? – michael
@michael我用onTouchListener檢查edittext是否有效。 – AKSiddique