2011-10-18 10 views
1

私のアクティビティには、すべて整数と整数だけを取るいくつかのフィールドがあります。 ここを見れば、検証を実行する最も簡単な方法は、layout.xmlにIntegerのInputTypeを単に宣言することです。 これは問題なく動作します。ユーザーは数字だけを入力でき、ビジネスロジックは満足しています。空白フィールドも処理できます。 しかし、私はユーザーが非数値を入力する可能性のある方法はありますか?これを処理できる必要がありますか?答えが「はい」の場合は、アプリケーションのフィールド検証と一緒にすべての単体テストを更新する必要がありますが、それを実行するにはAndroid OSを信頼したいと考えています。Androidでの入力検証、InputTypeを十分に宣言していますか

+0

空白なしで完全に整数値を意味しますか? –

+0

私はあなたがカバーされていると思います。フィールドに数字以外の文字を入力する方法は想像できません。コピーされたテキストがアルファベット順の場合、コピー貼り付け機能さえ機能しません。 –

答えて

2

InputTypeを正しく使用すると、そのInputTypeで指定されていない文字は入力できなくなります。

+0

私が入力タイプ=整数を持っている場合、ルアー文字を気にする必要はないようです。 – MayoMan

+0

おそらく入力タイプに「数字」を使用したいと思うでしょう。 –

1

これについてOC'edの場合は、無効な文字がEditTextに入力/貼り付けされないようにInputFilterを使用できます。

InputFilter filter = new InputFilter() { 
    @Override 
    public CharSequencefilter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { 
     for(int i = start; i < end; i++) { 
      if(!Character.isDigit(source.charAt(i))) { 
       return ""; 
      } 
     } 
     return null; 
    } 
} 
関連する問題