【发布时间】:2018-02-23 22:16:29
【问题描述】:
如何从多行EditText中逐行获取文本,因为它显示在屏幕上?
例如,如果您在 EditText (不带\n) 中插入长文本,它将显示为几行。如何知道系统在哪里插入换行?
【问题讨论】:
标签: android android-edittext multiline
如何从多行EditText中逐行获取文本,因为它显示在屏幕上?
例如,如果您在 EditText (不带\n) 中插入长文本,它将显示为几行。如何知道系统在哪里插入换行?
【问题讨论】:
标签: android android-edittext multiline
如果使用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()
【讨论】: