在我的应用程序中,我有一个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.如果他将默认键盘更改为标准键盘,则可以正常使用…
解决方法:
后来的三星设备内置了SwiftKey键盘.SwiftKey故意决定忽略Android的InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS.
一种解决方法是使用InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD,虽然有点黑,但不幸的是,它是常见的解决方法.
XML变体:android:inputType =“ textVisiblePassword”