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

问题描述:

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

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

它如果使用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()