【问题】在TabHost以外的EditText不能使用硬件盘输入数字

原因:

在TabHost中有方法,

/** * {@inheritDoc} */ public void onTouchModeChanged(boolean isInTouchMode) { if (!isInTouchMode) { // leaving touch mode.. if nothing has focus, let's give it to // the indicator of the current tab if (mCurrentView != null && (!mCurrentView.hasFocus() || mCurrentView.isFocused())) { mTabWidget.getChildTabViewAt(mCurrentTab).requestFocus(); } } }

在非Touch模式(即 在使用硬件盘),如果没有View获取焦点,则将焦点传给当前Tab页。

 

解决办法:

@Override public void onTouchModeChanged(boolean isInTouchMode) { //super.onTouchModeChanged(isInTouchMode); }

重写此方法即可。

你可能感兴趣的:(null)