如何从屏幕上显示的EditText中获取文本(使用换行符)

时间:2017-09-14 20:05:45

标签: android android-edittext multiline

如何从屏幕上显示的多行EditText中逐行获取文本?

例如,如果您在EditText (没有\n中插入长文本,它将以几行显示。如何知道系统插入换行的位置?

1 个答案:

答案 0 :(得分:1)

使用EditText.getLayout()

是可能的
String text = editText.getText().toString();
List<String> lines = new ArrayList<>();
for (int i = 0; i< editText.getLayout().getLinesCount(); i++) {
    lines.add(text.substring(editText.getLayout().getLineStart(i), 
             editText.getLayout().getLineEnd(i));
}

此外EditText.getLayout()还有返回行大小的方法:

getLineWidth()
getLineBounds()