Fixed scrolling issue when moving cursor in long TextViews.
setSelection() was called twice by onTouchEvent, once to the previous position, and then to the new position (unless the IME got displayed, so that in that case the cursor is not moved). The second call was actually triggering a call for a scroll of 0 since view is already displaying the cursor. This scroll is filtered out by a shortcut in ScrollView. The first setSelection's scroll does not have the same issue (since the previous cursor's position is out of screen and requires a scroll) and it then applied, effectively moving the cursor to a new position but the scrolling to the previous position. The fix is to call setSelection only once, after the IME has been asked to display. The cursor is moved to the old/new position depending on the resultCode in onReceiveResult in CommitSelectionReceiver. Bug: http://b/issue?id=2778954 Change-Id: I0983fdf18993e63b230e093e703f95efe6e2d7a8
Loading
Please register or sign in to comment