在我的应用中,我有一个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
和YPE_CLASS_TEXT
,但两者都没有效果。
任何人都知道这是不是一个错误?任何已知的解决方法?
谢谢。
编辑:
刚刚意识到我的老板已经安装了TouchPal。如果他将默认键盘更改为标准,则可以完美地运行...
答案 0 :(得分:4)
后来的三星设备内置了SwiftKey键盘.SwiftKey故意决定忽略Android的InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
。
一种解决方法是使用InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
,这有些笨拙,但不幸的是常见的解决方法。
XML变体:android:inputType="textVisiblePassword"
答案 1 :(得分:0)
三星对大多数事情表现得很奇怪。我以前遇到过这个问题,我似乎记得将输入类型更改为电子邮件就像一个魅力。试一试。