Android开发:在textChanged上计算EditText行?

Ale*_*eAP 3 android lines count android-edittext

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

谢谢,亚历克斯!

Whi*_*ler 10

线条可以是不同的:

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

第一种情况(最简单):

int nbLines = editText.getLineCount();
Run Code Online (Sandbox Code Playgroud)

第二种情况:

        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();
        }
Run Code Online (Sandbox Code Playgroud)