在我的应用程序中,我有一个EditText
,带有一个按钮来更改键盘输入类型。代码:
ToggleCambiarTeclado.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
if (ToggleCambiarTeclado.isChecked()) {
tipoDeTecladoActual = InputType.TYPE_CLASS_NUMBER;
imagenTeclado.setImageDrawable(getResources().getDrawable(R.drawable.keyboard_numeric));
} else {
tipoDeTecladoActual = InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS;
imagenTeclado.setImageDrawable(getResources().getDrawable(R.drawable.keyboard_querty));
}
editNumeroContador.setInputType(tipoDeTecladoActual);
}
});
它在我的手机中完美运行......但我的老板有三星,并且没有更改他手机中的键盘类型。
我尝试将其更改为TYPE_TEXT_VARIATION_NORMAL
, TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
and YPE_CLASS_TEXT
,他们都没有工作。
有人知道这是否是一个错误吗?有什么已知的解决方法吗?
谢谢。
EDIT:
刚刚意识到我的老板安装了触宝。如果他将默认键盘更改为标准,它就可以完美工作......
后来的三星设备内置了 SwiftKey 键盘。SwiftKey 在某个时候有意决定忽略 Android 的键盘InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
.
解决方法是使用InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
,这有点hacky,但不幸的是这是一种常见的解决方法。
XML 变体:android:inputType="textVisiblePassword"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)