Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Extract a line from an EditText

How can we extract a line from a multiLine EditText ?

I tried this way, but I know that is not a good practice :

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();
...

is there an easier way to do this like looking for \n in the string ?

like image 208
Jerec TheSith Avatar asked Jun 28 '12 14:06

Jerec TheSith


3 Answers

Try using String.split(). Code example:

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

streets = multiLines.split(delimiter);

Now you have an array of streets.

Let's say, for example, your EditText reads "1st St.\nHighway Rd.\nUniversity Ave." (or is those 3 streets separated by line breaks, instead of you actually seeing \n). Following the code example I provided you,

  • 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."
like image 121
Mxyk Avatar answered Nov 15 '22 09:11

Mxyk


Try this:

String text = streetEt.getText();

String firstLine = text.substring(0,text.indexOf("\n"));
like image 29
Jack Satriano Avatar answered Nov 15 '22 09:11

Jack Satriano


Try this,

String text=editText1.getText().toString().replace("\n", " ").trim();
like image 34
Patel Miral Avatar answered Nov 15 '22 08:11

Patel Miral