用户单击放大镜菜单项之前的SearchView.setQuery()

时间:2019-02-27 11:36:19

标签: java android searchview android-menu

我的菜单中有一个SearchView项:

export const enum Enum1{
  key1='value1',
  key2='value2',
  key3='value3',
}

type ObjType = {
  [Key in Enum1]: {
    some_object: number
  }
}

export const obj1:ObjType ={
  [Enum1.key1]:{some_object:123},
  [Enum1.key2]:{some_object:123},
  [Enum1.key3]:{some_object:123}
}

现在,我想以编程方式打开searchview并使用searchView.setQuery()设置文本。但是,如果我在用户单击放大镜菜单项之前执行searchView.setQuery(),则不会发生任何事情。

1 个答案:

答案 0 :(得分:1)

您可以调用expandActionView()方法使其聚焦

@Override
public boolean onCreateOptionsMenu( Menu menu )
{
    super.onCreateOptionsMenu( menu );

    MenuItem searchMenuItem = menu.findItem( R.id.search_toolbar_main ); 
    searchMenuItem.expandActionView(); // Expand the search menu item in order to show by default the query

    return true;
}