我注意到,当用户在EditText
中输入 $ 字符时,会添加一个空格。例如用户类型:
abcd$
然而
abcd $
输入EditText
。我已经在运行Android 5.1.1
的 Note 4 和运行Android 6.0.1
的 S6 Edge 上验证了该问题。当用户在密码中使用 $ 字符时,这对于密码字段尤其有问题,因为这会导致用户登录失败。
我已经验证了 Nexus 5X 运行Android 5.1
的模拟器中不存在的问题因此我怀疑这是一个仅限于三星软件的错误键盘。
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true" />
请参阅this video,了解运行5.1.1的Note 4的演示
非常感谢任何建议或解决方法。
添加了TextWatcher
:
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
Log.d(TAG, "New text: '" + s + "'");
}
});
这是来自 Note 4 :
的日志06-10 12:50:55.082 15187-15187/test.apps.android.vp.org.keyboardtest D/MainActivity: New text: 'h'
06-10 12:50:55.237 15187-15187/test.apps.android.vp.org.keyboardtest D/MainActivity: New text: 'hs'
06-10 12:50:55.372 15187-15187/test.apps.android.vp.org.keyboardtest D/MainActivity: New text: 'hsh'
06-10 12:50:55.592 15187-15187/test.apps.android.vp.org.keyboardtest D/MainActivity: New text: 'hshf'
06-10 12:50:57.077 15187-15187/test.apps.android.vp.org.keyboardtest D/MainActivity: New text: 'hshf $'
输入hshf $ 时
这是来自模拟器中运行的 Nexus 5X :
06-10 13:01:05.801 3032-3032/test.apps.android.vp.org.keyboardtest D/MainActivity: New text: 'h'
06-10 13:01:06.421 3032-3032/test.apps.android.vp.org.keyboardtest D/MainActivity: New text: 'hs'
06-10 13:01:06.524 3032-3032/test.apps.android.vp.org.keyboardtest D/MainActivity: New text: 'hs'
06-10 13:01:08.848 3032-3032/test.apps.android.vp.org.keyboardtest D/MainActivity: New text: 'hsh'
06-10 13:01:09.803 3032-3032/test.apps.android.vp.org.keyboardtest D/MainActivity: New text: 'hshf'
06-10 13:01:09.908 3032-3032/test.apps.android.vp.org.keyboardtest D/MainActivity: New text: 'hshf'
06-10 13:01:13.902 3032-3032/test.apps.android.vp.org.keyboardtest D/MainActivity: New text: 'hshf$'