Loading core/java/android/widget/ListView.java +13 −6 Original line number Diff line number Diff line Loading @@ -2420,10 +2420,15 @@ public class ListView extends AbsListView { (ViewGroup) selectedView, currentFocus, direction); if (nextFocus != null) { // do the math to get interesting rect in next focus' coordinates currentFocus.getFocusedRect(mTempRect); offsetDescendantRectToMyCoords(currentFocus, mTempRect); offsetRectIntoDescendantCoords(nextFocus, mTempRect); if (nextFocus.requestFocus(direction, mTempRect)) { Rect focusedRect = mTempRect; if (currentFocus != null) { currentFocus.getFocusedRect(focusedRect); offsetDescendantRectToMyCoords(currentFocus, focusedRect); offsetRectIntoDescendantCoords(nextFocus, focusedRect); } else { focusedRect = null; } if (nextFocus.requestFocus(direction, focusedRect)) { return true; } } Loading Loading @@ -2556,10 +2561,12 @@ public class ListView extends AbsListView { if (mItemsCanFocus && (focusResult == null) && selectedView != null && selectedView.hasFocus()) { final View focused = selectedView.findFocus(); if (focused != null) { if (!isViewAncestorOf(focused, this) || distanceToView(focused) > 0) { focused.clearFocus(); } } } // if the current selection is panned off, we need to remove the selection if (nextSelectedPosition == INVALID_POSITION && selectedView != null Loading Loading
core/java/android/widget/ListView.java +13 −6 Original line number Diff line number Diff line Loading @@ -2420,10 +2420,15 @@ public class ListView extends AbsListView { (ViewGroup) selectedView, currentFocus, direction); if (nextFocus != null) { // do the math to get interesting rect in next focus' coordinates currentFocus.getFocusedRect(mTempRect); offsetDescendantRectToMyCoords(currentFocus, mTempRect); offsetRectIntoDescendantCoords(nextFocus, mTempRect); if (nextFocus.requestFocus(direction, mTempRect)) { Rect focusedRect = mTempRect; if (currentFocus != null) { currentFocus.getFocusedRect(focusedRect); offsetDescendantRectToMyCoords(currentFocus, focusedRect); offsetRectIntoDescendantCoords(nextFocus, focusedRect); } else { focusedRect = null; } if (nextFocus.requestFocus(direction, focusedRect)) { return true; } } Loading Loading @@ -2556,10 +2561,12 @@ public class ListView extends AbsListView { if (mItemsCanFocus && (focusResult == null) && selectedView != null && selectedView.hasFocus()) { final View focused = selectedView.findFocus(); if (focused != null) { if (!isViewAncestorOf(focused, this) || distanceToView(focused) > 0) { focused.clearFocus(); } } } // if the current selection is panned off, we need to remove the selection if (nextSelectedPosition == INVALID_POSITION && selectedView != null Loading