TabHost 选项卡更改后 SearchView 未正确聚焦

SearchView not being focused properly after TabHost tab change

我有一个一直显示的 SearchView 和上面的 TabHost 如下:

我试图通过以下方式让 SearchView 专注于某些条件:

searchView.setIconified(false);
searchView.requestFocusFromTouch();

当我需要专注的时候。好像还不错。

但是,如果用户切换选项卡,在 TabHost.OnTabChangeListener 中重新聚焦 SearchBar 似乎无法正常工作 - 键盘仍显示为好像 SearchView 仍处于聚焦状态,但搜索视图上的光标消失了,用户无法输入任何内容。点击搜索视图可以解决问题,但我想 "tap" 自己而不是用户。

如何正确地重新聚焦搜索视图?

我最终在延迟后重新聚焦 SearchView 以允许 UI 完成更新(在移动设备上,对于简洁和拼写错误):

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);
    }
});