18

があり、これに入力できる文字数EditTextを制限したいのですが、この制限をプログラムで行いたいのですが、どうすればよいですか? たとえば、10 文字のみを許可するように制限したいとします。EditText

4

4 に答える 4

42

プログラムで EditView の文字数を制限するには、InputFilterを次のように使用できます。

InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(10);
your_edittext.setFilters(FilterArray);

詳細については、EditView で文字数を制限するためのこのチュートリアルを参照してください。

http://www.tutorialforandroid.com/2009/02/maxlength-in-edittext-using-codes.html

于 2012-11-16T10:22:55.840 に答える
1

フィルターを実装します。

InputFilter filter = new InputFilter() {

   @Override
   public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
      if (source.length > 10){
       //cancel the edit or whatever
      }
   }
};
EditText editText = (EditText) findViewById(R.id.rg);
editText.setFilters(new InputFilter[] {filter});
于 2012-11-16T10:23:26.277 に答える