Разработка Android: Подсчет строк EditText на textChanged? - PullRequest
3 голосов
/ 25 января 2011

Как я могу посчитать количество строк в EditText? В основном в моем приложении у меня есть номера строк, и я хотел, чтобы они обновлялись при обмене текстами (у меня уже настроен преобразователь текста). Это возможно? (

Спасибо, Алекс!

Ответы [ 2 ]

10 голосов
/ 31 января 2011

Линии могут быть разными:

  • Видимые строки: количество строк в новой строке ...
  • Элемент списка: только строки с \ r, \ n, \ r \ n

Первый случай (самый простой):

int nbLines = editText.getLineCount();

Второй случай:

        int nbLines = 0;
        StringReader     sr = new StringReader(editText.getText().toString());
        LineNumberReader lnr = new LineNumberReader(sr);
        try { 
            while (lnr.readLine() != null){}
            nbLines = lnr.getLineNumber();
            lnr.close();
        } catch (IOException e) {
            nbLines = editText.getLineCount();
        } finally {
            sr.close();
        }
0 голосов
/ 25 января 2011

Зависит от того, что вы определяете как «номер строки». Строка в вашем тексте редактирования в «GUI way», которая включает разрывы строк, которые делает ваш editview? Или строка в «кодирующей форме» описания (с \ n в конце)? Первый будет довольно сложно получить, если вообще невозможно. Второй: просто посчитайте числа \ n в тексте и добавьте еще 1, если после последнего \ n есть что-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...