@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
- switch (keyCode) {
- case KeyEvent.KEYCODE_DPAD_CENTER:
- case KeyEvent.KEYCODE_ENTER:
+ if (KeyEvent.isConfirmKey(keyCode)) {
if (!isEnabled()) {
return true;
}
setPressed(false);
return true;
}
- break;
}
return super.onKeyUp(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
- switch (keyCode) {
- case KeyEvent.KEYCODE_DPAD_CENTER:
- case KeyEvent.KEYCODE_ENTER: {
-
+ if (KeyEvent.isConfirmKey(keyCode)) {
if (mReceivedInvokeKeyDown) {
if (mItemCount > 0) {
-
dispatchPress(mSelectedChild);
postDelayed(new Runnable() {
@Override
dispatchUnpress();
}
}, ViewConfiguration.getPressedStateDuration());
-
+
int selectedIndex = mSelectedPosition - mFirstPosition;
performItemClick(getChildAt(selectedIndex), mSelectedPosition, mAdapter
.getItemId(mSelectedPosition));
}
}
-
+
// Clear the flag
mReceivedInvokeKeyDown = false;
-
return true;
}
- }
-
return super.onKeyUp(keyCode, event);
}
// to select one of its items
if (keyCode != KeyEvent.KEYCODE_SPACE
&& (mDropDownList.getSelectedItemPosition() >= 0
- || (keyCode != KeyEvent.KEYCODE_ENTER
- && keyCode != KeyEvent.KEYCODE_DPAD_CENTER))) {
+ || !KeyEvent.isConfirmKey(keyCode))) {
int curIndex = mDropDownList.getSelectedItemPosition();
boolean consumed;
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (isShowing() && mDropDownList.getSelectedItemPosition() >= 0) {
boolean consumed = mDropDownList.onKeyUp(keyCode, event);
- if (consumed) {
- switch (keyCode) {
- // if the list accepts the key events and the key event
- // was a click, the text view gets the selected item
- // from the drop down as its content
- case KeyEvent.KEYCODE_ENTER:
- case KeyEvent.KEYCODE_DPAD_CENTER:
- dismiss();
- break;
- }
+ if (consumed && KeyEvent.isConfirmKey(keyCode)) {
+ // if the list accepts the key events and the key event was a click, the text view
+ // gets the selected item from the drop down as its content
+ dismiss();
}
return consumed;
}