从EditText中提取一行

Jer*_*ith 5 string android android-widget android-edittext

我们如何从multiLine中提取一条线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();
...
Run Code Online (Sandbox Code Playgroud)

是否有更简单的方法来执行此操作,如\n在字符串中查找?

Mxy*_*xyk 9

尝试使用String.split().代码示例:

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

streets = multiLines.split(delimiter);
Run Code Online (Sandbox Code Playgroud)

现在你有一系列的街道.

比方说,例如,您的EditText读物是"1st St. \nHighway Rd.\nUniversity Ave." (或者是那些由换行符隔开的3条街道,而不是你实际看到的\n).按照我提供的代码示例,

  • multiLines 成为"第一圣路\n高速公路\n \nUniversity Avenue".
  • streets = multiLines.split(delimiter);streets用街道名称填充数组,即

    • 街道[0] ="第一街"
    • 街道[1] ="高速公路".
    • 街道[2] ="大学大道"

  • 这个答案并不完整.用户可以输入很长的序列,当它到达当前行的末尾时,它继续在下一行.所以我们可以有几行没有任何新的行符号.正确答案:/sf/answers/439148251/ (2认同)