FragmentTabHost、TabHost外接刷卡器,键盘等设备输入内容时,与EditText争抢焦点导致输入异常

来源:互联网 发布:php教程视频 百度云 编辑:程序博客网 时间:2024/05/11 21:16

当你使用FragmentTabHost或TabHost去设置完成底部导航栏UI设计时,方便了布局的实现,但是在外接键盘,或刷卡器等设备输入内容时,会出现EditText不能获取焦点,FragmentTabHost页面被虚拟键盘顶上去了。查看资料后发现是FragmentTabHost控件抢夺了EditText的焦点。

FragmentTabHost继承于TabHost,其外接键盘输入异常问题,其实属于同一个问题。

解决办法可以重写其onTouchModeChanged方法如下:

public class MyFragmentTabHost extends FragmentTabHost {    private static final String TAG = "MyFragmentTabHost";    public MyFragmentTabHost(Context context) {        super(context);    }    public MyFragmentTabHost(Context context, AttributeSet attrs) {        super(context, attrs);    }    @Override    public void onTouchModeChanged(boolean isInTouchMode) {//        super.onTouchModeChanged(isInTouchMode);    }}
在xml文件布局时用自己的FragmentTabHost就可以了。

阅读全文
1 0
原创粉丝点击