question: 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 ) ; } } } }
target:  Performs a backspace operation