3

如何计算 EditText 中的行数?基本上在我的应用程序中,我有行号,我想让它们在 textchange 上更新(我已经设置了 textchangelistener)。这可能吗?:(

谢谢,亚历克斯!

4

2 回答 2

12

行可以不同:

  • 可见行:换行的文本计为新行...
  • 列表项:仅包含 \r、\n、\r\n 的行

第一种情况(最简单的):

int nbLines = editText.getLineCount();

第二种情况:

        int nbLines = 0;
        StringReader     sr = new StringReader(editText.getText().toString());
        LineNumberReader lnr = new LineNumberReader(sr);
        try { 
            while (lnr.readLine() != null){}
            nbLines = lnr.getLineNumber();
            lnr.close();
        } catch (IOException e) {
            nbLines = editText.getLineCount();
        } finally {
            sr.close();
        }
于 2011-01-31T12:35:51.160 回答
0

取决于您定义为“行号”的内容。“GUI方式”中的edittext中的一行,其中包括您的editview所做的换行符?还是以“编码方式”描述它的一行(末尾有 \n )?第一个将很难获得,即使是不可能的。第二个:只计算文本中\n的个数,如果最后一个\n后面有东西,再加1。

于 2011-01-24T22:20:51.937 回答