我的SearchView
始终显示,上面有TabHost
,如下所示:
我试图通过以下方式让SearchView
专注于某些条件:
searchView.setIconified(false);
searchView.requestFocusFromTouch();
当我需要专注时。它似乎工作正常。
但是,如果用户切换标签,则SearchBar
中TabHost.OnTabChangeListener
的重新对焦似乎无法正常工作 - 键盘仍然显示为SearchView
仍然聚焦,但是搜索视图上的光标消失了,用户无法输入任何内容。点击搜索视图可以修复内容,但我想点击"点按"我自己而不是用户。
如何正确重新关注搜索视图?
答案 0 :(得分:0)
我最终在延迟后重新调整SearchView以允许用户界面完成更新(在移动设备上,对不起简短和拼写错误):
tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
@Override public void onTabChanged(String tabId) {
searchView.postDelayed(new Runnable() {
@Override public void run() {
searchView.setIconified(false);
searchView.requestFocusFromTouch();
}
}, 100);
}
});