TabHost选项卡更改后,SearchView无法正确聚焦

时间:2015-08-20 01:06:36

标签: android android-tabhost android-softkeyboard searchview

我的SearchView始终显示,上面有TabHost,如下所示:

SearchView on top ("žodis"), TabHost above ("English", "Lietuvių")

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

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

当我需要专注时。它似乎工作正常。

但是,如果用户切换标签,则SearchBarTabHost.OnTabChangeListener的重新对焦似乎无法正常工作 - 键盘仍然显示为SearchView仍然聚焦,但是搜索视图上的光标消失了,用户无法输入任何内容。点击搜索视图可以修复内容,但我想点击"点按"我自己而不是用户。

如何正确重新关注搜索视图?

1 个答案:

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