2013-03-31 32 views
0

我正在創建一個IDE,並使用TextView根據我的EditText的行數顯示行號。我有它添加新行的工作,但我怎樣才能檢查一行是否已被刪除,並減少TextView的行數?如何檢查一行或多行是否已從TextView中刪除?

et.setOnKeyListener(new OnKeyListener() { 

@Override 
public boolean onKey(View v, int keyCode, KeyEvent event) { 
    if ((event.getAction() == KeyEvent.ACTION_DOWN) && 
     (keyCode == KeyEvent.KEYCODE_ENTER)) { 
     lines++; 
     lineNumbers.append(lines+"\n");    
    } 
    return false; 
} 

});

回答

0

這樣做的工作。

private void openFile(final File aFile) { 
     String nullChk = et.getText().toString(); 
     exists = true; 

     if (!changed || nullChk.matches("")) { 
      try { 
       currentFile = aFile; 
       et.setText(new Scanner(currentFile).useDelimiter("\\Z").next()); 
       lineNumbers.setText(""); 
       lines = 1; 

       for (int i = 1; i < et.getLineCount(); i++) { 
        lineNumbers.append(lines + "\n"); 
        lines++; 
      ... 
} 

et.setOnKeyListener(new OnKeyListener() { 

      @Override 
      public boolean onKey(View v, int keyCode, KeyEvent event) { 
       if ((event.getAction() == KeyEvent.ACTION_DOWN) 
         && (keyCode == KeyEvent.KEYCODE_ENTER)) { 
        lines++; 
        lineNumbers.append(lines + "\n"); 
       } 
       if ((event.getAction() == KeyEvent.ACTION_DOWN) 
         && (keyCode == KeyEvent.KEYCODE_DEL)) { 
        lineNumbers.setText(""); 
        lines = 0; 

        for (int i = 1; i < et.getLineCount(); i++) { 
         lines++; 
         lineNumbers.append(lines + "\n"); 
        } 
       } 
       return false; 
      } 
     }); 
相關問題