2

EditTextフィールドを150文字に制限したいのですが、これは非常に簡単に実行できます。ただし、ユーザーがその制限を超えようとしたときに、入力(つまり、151番目の文字)または150文字を超える文字を貼り付けることによって、ユーザーに警告する必要もあります。

これについて行くための最良の方法は何ですか?

4

4 に答える 4

5

EditText のメソッドを介して TextWatcher を追加addTextChangedListener()ます。ユースケースに適したメソッドを実装するだけです。おそらく警告ダイアログを表示しますか?

EditText text = (EditText) findViewById(R.id.text);
text.addTextChangedListener(new TextWatcher()
{
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after)
    {
        if (s.length() > n)
        {
            new AlertDialog.Builder(MyActivity.this).setTitle("Character limit exceeded").setMessage("Input cannot exceed more than " + n + " characters.").setPositiveButton(android.R.string.ok, null).show();
        }
    }

    @Override
    public void afterTextChanged(Editable s)
    {
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count)
    {
    }
});
于 2013-01-08T15:31:51.423 に答える
2

わざわざヒント属性を「最大150文字」のように設定するだけです

android:hint="Max. 150 characters"

ここに画像の説明を入力

于 2013-01-08T15:38:07.110 に答える
1

この属性で文字数を150文字に制限したほうがいいのですが、

http://androidblogger.blogspot.com/2009/01/numeric-edittext-and-edittext-with-max.html

android:maxLength="150"

お役に立てれば

于 2013-01-08T15:47:10.347 に答える