の数値キーボードが必要EditText
です。キーボードには、デバイスの選択されたロケールに基づく小数点記号が必要です。カスタムDigitsKeyListener
をEditText
public class NumericDigitsKeyListener extends DigitsKeyListener {
@Override
protected char[] getAcceptedChars() {
char[] acceptedCharacters = null;
acceptedCharacters = new char[] {
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
new DecimalFormatSymbols(Locale.getDefaultLocale()).getDecimalSeparator()
return acceptedCharacters;
}
/**
* @see android.text.method.DigitsKeyListener#getInputType()
*/
public int getInputType() {
return InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL;
}
上記はほとんどのデバイスで正常に動作するようですが、Samsung Galaxy S-II では、ソフトキーボードのキーボードにコンマがありません。デバイスのスワイプ キーボードにはコンマが表示されますが、デフォルトのキーボードには表示されません。
ここで述べたように DigitsKeyListener をオーバーライドしようとしました
すべてのデバイスにカンマ (該当する場合、または常に) をテンキー キーボードに表示するように強制する方法はありますか?