从一个EditText提取一行 [英] Extract a line from an EditText

查看:402
本文介绍了从一个EditText提取一行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们怎样才能提取线,从多行的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();
...

有更简单的方式做到这一点喜欢找在字符串中?

推荐答案

尝试使用 String.split()。 code例如:

Try using String.split(). Code example:

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

streets = multiLines.split(delimiter);

现在你有街道的数组。

让我们说,例如,你的的EditText 读一街\ nHighway路\ nUniversity大道 (或者是不是你真正看到 \ñ这3个街道被换行分隔,)。继code例子中,我只要你,

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,

  • 多线变成了一街\ nHighway路\ nUniversity大道。
  • 街道= multiLines.split(分隔符); 填充阵列街道的街道名称,即

  • multiLines becomes "1st St.\nHighway Rd.\nUniversity Ave."
  • streets = multiLines.split(delimiter); fills the array streets with the street names, i.e.

  • 在街头[0] =1日圣。
  • 在街头[1] =公路路。
  • 在街道[2] =大学大道。

这篇关于从一个EditText提取一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆