我试图在多个片段中使用工具栏(菜单)中的searchview。因此,如果我切换到各种片段,则searchview将应用于并仅搜索该片段。在MainActivity中定义它之后,如何在片段中使用它?
答案 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;
}
}
希望这将帮助您找到正确的解决方案