我目前有一个TabHost
包含 4 个选项卡。在一些片段上我们有一些EditText
布局内的视图。
我们注意到,当您尝试输入任何内容时EditText
使用硬件键盘的视图,焦点被窃取EditText
并赋予当前活动选项卡TabHost
。这只发生在带有选项卡的屏幕上。有没有一种快速而简单的方法来解决这个问题?
这已经是一个已知的错误很长时间了:
http://code.google.com/p/android/issues/detail?id=2516 http://code.google.com/p/android/issues/detail?id=2516
解决方法是强制TabHost
选择选项卡后失去焦点。
这是通过设置一个来完成的OnTabChangeListener
为了TabHost
并打电话clearFocus
in the onTabChanged
method.
tabHost.setOnTabChangedListener(new OnTabChangeListener(){
public void onTabChanged(String tabID) {
tabHost.clearFocus();
}
});
编辑:如果这不起作用,您可以尝试其他方法。强制 EditText 字段获得焦点:
OnTouchListener focusHandler = new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
// TODO Auto-generated method stub
view.requestFocusFromTouch();
return false;
}
};
editText.setOnTouchListener(focusHandler); //For each EditText with this issue
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)