我有一个包含文字的多行Edittext(不要内容" \ n"),字体大小(sp) 和文本的长度> Edittext.width()。 我想获得EditText中第一行的长度。 我该怎么办?
答案 0 :(得分:3)
一个选项可能是读取文本然后获取换行符的索引,这基本上是前面字符串的长度:
int firstLineLength = myEditText.getText().toString().indexOf("\n");
作为替代方案,如果您需要使用其他行执行此操作,则只需根据换行符分割整个字符串:
String[] lines = myEditText.getText().toString().split("\n");
修改强>
请记住,如果找不到匹配项,indexOf()将返回-1。因此,如果您的EditText只有一个字符串,那么您将获得-1行长度,因此请准备好检查:
int lineEndIndex = myEditText.getText().toString().indexOf("\n");
int firstLineLength;
if(lineEndIndex == -1) {
firstLineLength = myEditText.getText().toString().length();
} else {
firstLineLength = lineEndIndex;
}