为了使用底部导航栏样式,偷懒直接使用FragmentTabHost隐藏tabcontent的形式添加底部导航图标,但使用过程中,外接键盘在输入内容,切换页面再次输入时,会出现输入框不能获取焦点,查询后发现是FragmentTabHost控件抢夺而去。
FragmentTabHost继承于TabHost,其外接键盘输入异常问题,其实属于同一个问题。
解决办法可以重写其onTouchModeChanged方法如下
public class CustomFragmentTabHost extends FragmentTabHost {
public CustomFragmentTabHost(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomFragmentTabHost(Context context) {
this(context, null);
}
/**
* 避免TabHost抢夺焦点,重写其方法
*/
@Override
public void onTouchModeChanged(boolean isInTouchMode) {
//super.onTouchModeChanged(isInTouchMode);
}
}