我们如何从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();
...
是否有更简单的方法来查找字符串中的\n
?
答案 0 :(得分:9)
尝试使用String.split()
。代码示例:
String multiLines = streetEt.getText().toString();
String[] streets;
String delimiter = "\n";
streets = multiLines.split(delimiter);
现在你有一系列的街道。
比方说,例如,您的EditText
读取“1st St. \ nHighway Rd。\ nUniversity Ave.” (或者是那些由换行符隔开的3条街道,而不是你实际看到的\n
)。按照我提供的代码示例,
multiLines
成为“1st St. \ nHighway Rd。\ nUniversity Avenue。” streets = multiLines.split(delimiter);
使用街道名称填充数组streets
,即
答案 1 :(得分:4)
试试这个:
String text = streetEt.getText();
String firstLine = text.substring(0,text.indexOf("\n"));
答案 2 :(得分:1)
试试这个,
String text=editText1.getText().toString().replace("\n", " ").trim();