public void deleteChar(){
  String text=getText();
  if (text.length() > 0) {
    int cursorCharPosition=getCursorPosition();
    if (cursorCharPosition > 0) {
      int tmpCursorCharPosition=cursorCharPosition - 1;
      if (!overwriteMode) {
        if (tmpCursorCharPosition == text.length()) {
          text=text.substring(0,text.length() - 1);
        }
 else {
          text=text.substring(0,tmpCursorCharPosition) + text.substring(tmpCursorCharPosition + 1,text.length());
        }
        super.setText(text);
        commitChange();
        fireDataChanged(DataChangedListener.REMOVED,tmpCursorCharPosition);
      }
      if (cursorCharPosition == 1) {
        cursorX=0;
        cursorCharPosition=0;
      }
 else {
        setCursorPosition(tmpCursorCharPosition);
      }
    }
  }
}

public void deleteChar ( ) { String text = getText ( ) ; if ( text . length ( ) > 0 ) { int cursorCharPosition = getCursorPosition ( ) ; if ( cursorCharPosition > 0 ) { int tmpCursorCharPosition = cursorCharPosition - 1 ; if ( ! overwriteMode ) { if ( tmpCursorCharPosition == text . length ( ) ) { text = text . substring ( 0 , text . length ( ) - 1 ) ; } else { text = text . substring ( 0 , tmpCursorCharPosition ) + text . substring ( tmpCursorCharPosition + 1 , text . length ( ) ) ; } super . setText ( text ) ; commitChange ( ) ; fireDataChanged ( DataChangedListener . REMOVED , tmpCursorCharPosition ) ; } if ( cursorCharPosition == 1 ) { cursorX = 0 ; cursorCharPosition = 0 ; } else { setCursorPosition ( tmpCursorCharPosition ) ; } } } }
performs a backspace operation
