Вопрос по android, android-edittext, string, android-widget – Извлечь строку из EditText

5

Как мы можем извлечь строку из мультилинииEditText ?

Я пытался таким образом, но я знаю, что это не очень хорошая практика:

String street1 = "";
String street2 = "";
EditText streetEt = ((EditText) findViewById(R.id.street));
ExtractedText extractedText = new ExtractedText();
ExtractedTextRequest req = new ExtractedTextRequest();
int endOfLineOffset = 0;

req.hintMaxLines = 1;
streetEt.extractText(req, extractedText);
endOfLineOffset = extractedText.partialEndOffset;
street1 = extractedText.toString();
...

Есть ли более простой способ сделать это, как поиск\n в строке?

Я немного запутался, вы пытаетесь извлечь текст из TextView? JuiCe
На самом деле, вы можете просто использовать метод getText () и затем искать \ n в строке THAT. JuiCe
Ах, проигнорируйте мой ответ ниже: D Я просто перечитал ваш вопрос извините JuiCe
Ответ Джека кажется хорошим JuiCe
каждая строка этого Jerec TheSith

Ваш Ответ

3   ответа
1

Попробуй это,

String text=editText1.getText().toString().replace("\n", " ").trim();
этот код действительно работает, я стараюсь.
9

Попробуйте использоватьString.split(), Пример кода:

String multiLines = streetEt.getText().toString();
String[] streets;
String delimiter = "\n";

streets = multiLines.split(delimiter);

Теперь у вас есть множество улиц.

Скажем, например, вашEditText читает "1-й St. \ nHighway Rd. \ nUniversity Ave." (или эти 3 улицы разделены разрывами строк, вместо того, чтобы вы на самом деле видели\n). Следуя примеру кода, который я вам предоставил,

multiLines becomes "1st St.\nHighway Rd.\nUniversity Ave."

streets = multiLines.split(delimiter); fills the array streets with the street names, i.e.

streets[0] = "1st St." streets[1] = "Highway Rd." streets[2] = "University Ave."
Это гораздо лучший способ сделать это, чем мой ответ.
Я пытаюсь использовать ваш код для реализации функции поиска в редактируемом тексте в Android. Но я не могу найти следующий элемент в моем списке массивов. Я также опубликовал вопросstackoverflow.com/questions/40670878/…
Этот ответ не полный. Пользователь может ввести очень длинную последовательность, и когда она достигает конца текущей строки, она продолжается на следующей. Таким образом, мы можем иметь несколько строк без символа новой строки. Правильный ответ:stackoverflow.com/a/6273546/1140997
4

Попробуй это:

String text = streetEt.getText();

String firstLine = text.substring(0,text.indexOf("\n"));

Похожие вопросы