如何从屏幕上显示的多行EditText中逐行获取文本?
例如,如果您在EditText (没有\n
)中插入长文本,它将以几行显示。如何知道系统插入换行的位置?
答案 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()