如何在片段中使用MainActivity的菜单选项中定义的搜索视图?

时间:2019-05-28 09:37:27

标签: java android searchview

我试图在多个片段中使用工具栏(菜单)中的searchview。因此,如果我切换到各种片段,则searchview将应用于并仅搜索该片段。在MainActivity中定义它之后,如何在片段中使用它?

1 个答案:

答案 0 :(得分:0)

您应该继续引用所需的片段。然后根据您的情况,在键入请求或其他任何方式时,都需要在片段中进行搜索,如下所示:

myFragment.doSearch(query)

如果有一系列碎片,并且仅需要在当前可见的位置进行调用,则可以在每个碎片中定义isActuallyVisible变量(如果有,请在BaseFragment中定义),并按如下所示进行更改:

public void setMenuVisibility(final boolean visible) {
    super.setMenuVisibility(visible);
    isActuallyVisible = visible;        
}

然后您可以像这样进行搜索:

for (Fragment frag : fragmentsList) { 
    if (frag.isActuallyVisible) {
        frag.doSearch(query);
        break;
    }
}

希望这将帮助您找到正确的解决方案