Делаю я программу опять же на Android. Там есть текстовое поле, и при выборе пункта из меню опций линия(на которой стоит указатель) должна полностью стереться, То есть как в Android Студио. Этой работой занимается у меня отдельный класс . Есть там метод который всё это делает. Вот код:
Естественно Здесь много недочетов. Например когда считывается первая или последняя строчка приложение вылетает. А если курсор поля стоит в самом конце, такая же ситуация: вылет. Как мне нормально это сделать.
selection start вроде бы может быть -1, следует это учитывать. А ещё два цикла и посимвольный перебор это явно лишнее. Можно же черех indexOf('\n', pos) найти позиции нужных переносов строки. На \0 вообще не стоит надеяться, в java он не ставится в конце строки.
Отвечаю на комментарий aNNiMON: indexOf("\n",pos) - если указатель по середине линии, то как мне получить эту позицию. А может EditText иль StringBuilder, умеет работать с конкретной линией? Типа: getStringAtLine. Иль может есть какая-то библиотека для этого?
А ещё два цикла и посимвольный перебор это явно лишнее. Можно же черех indexOf('\n', pos) найти позиции нужных переносов строки.
На \0 вообще не стоит надеяться, в java он не ставится в конце строки.