Как отклонить символы в виджете EditText (Android) после ввода некоторого количества символов? - PullRequest
0 голосов
/ 03 апреля 2011

Я хотел бы следить за количеством символов в EditText.Для этого я использую

public void onTextChanged (CharSequence s, int start, int before, int count) {

            int symbolRemains = 140 - edTextSMS.getText().length();
            if (symbolRemains>=0) {
                                 tvSymbolsRemains.setText("Осталось символов:"+symbolRemains);
                                   }
            else
            {
                Toast.makeText(MainActivity.this, "Максимум 140 символов в сообщении", Toast.LENGTH_SHORT).show();
                return;
            }


                                                                                     }
    });

Итак, в моем разделе ELSE я хотел бы отклонитьвходящие символы.Конечно, простое «возвращение» не работает.Как я могу это сделать?

Спасибо $)

Ответы [ 2 ]

0 голосов
/ 03 апреля 2011

добавьте наблюдатель текста к нашему тексту редактирования, и если максимальный лимит был достигнут, удалите введенный символ в методе onTextChanged (я думаю, что вы должны удалить символы от начала до начала + считать, запускать и считать как параметры для этого метода).

0 голосов
/ 03 апреля 2011

Вы можете сделать:

StringBuffer buffer = new StringBuffer(s);
buffer.delete(start, start + count);
edTextSMS.setText(buffer.toString());

, если вы хотите ограничить EditText до 140 символов.

Обновлено с предложением Габи.

...