diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/widget/AutoCompleteTextView.java | 8 | ||||
-rw-r--r-- | core/java/android/widget/ListPopupWindow.java | 6 |
2 files changed, 9 insertions, 5 deletions
diff --git a/core/java/android/widget/AutoCompleteTextView.java b/core/java/android/widget/AutoCompleteTextView.java index 09add5e..3bdba62 100644 --- a/core/java/android/widget/AutoCompleteTextView.java +++ b/core/java/android/widget/AutoCompleteTextView.java @@ -204,7 +204,7 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe private void onClickImpl() { // If the dropdown is showing, bring the keyboard to the front // when the user touches the text field. - if (mPopup.isShowing()) { + if (isPopupShowing()) { ensureImeVisible(true); } } @@ -1008,7 +1008,7 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe protected boolean setFrame(final int l, int t, final int r, int b) { boolean result = super.setFrame(l, t, r, b); - if (mPopup.isShowing()) { + if (isPopupShowing()) { showDropDown(); } @@ -1054,6 +1054,10 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe mPopup.setAnchorView(this); } } + if (!isPopupShowing()) { + // Make sure the list does not obscure the IME when shown for the first time. + mPopup.setInputMethodMode(ListPopupWindow.INPUT_METHOD_NEEDED); + } mPopup.show(); } diff --git a/core/java/android/widget/ListPopupWindow.java b/core/java/android/widget/ListPopupWindow.java index 8116a12..8811492 100644 --- a/core/java/android/widget/ListPopupWindow.java +++ b/core/java/android/widget/ListPopupWindow.java @@ -26,10 +26,10 @@ import android.util.Log; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; -import android.view.ViewGroup; -import android.view.ViewParent; import android.view.View.MeasureSpec; import android.view.View.OnTouchListener; +import android.view.ViewGroup; +import android.view.ViewParent; /** * A ListPopupWindow anchors itself to a host view and displays a @@ -1222,7 +1222,7 @@ public class ListPopupWindow { if (action == MotionEvent.ACTION_DOWN && mPopup != null && mPopup.isShowing() && - (x >= 0 && x < getWidth() && y >= 0 && y < getHeight())) { + (x >= 0 && x < mPopup.getWidth() && y >= 0 && y < mPopup.getHeight())) { mHandler.postDelayed(mResizePopupRunnable, EXPAND_LIST_TIMEOUT); } else if (action == MotionEvent.ACTION_UP) { mHandler.removeCallbacks(mResizePopupRunnable); |