2011-01-24 30 views

回答

0

取決於你定義爲「行號」。 一條線在「GUI方式」您的EditText,其中包括您EditView中做的換行符?還是在一條線上一個描述它的「編碼方式」(最後有\ n)? 第一個很難得到,甚至是不可能的。第二個:只需在文本中計數\ n的數字,再加上另一個1 if有最後一個\ n

+0

通過行號我的意思是行數你的EditText,我覺得計算成\ n的就是我要找的,只是想一段代碼出來,現在希望這將讓我得到我需要的東西! :) – AlexPriceAP 2011-01-24 22:26:48

10

行可以是不同的:

  • 可見直線:換行文本數作爲新行...
  • 列表項:只有\ 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(); 
     }