Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在“片段”工具栏上放置一个搜索按钮,以查看某个活动_Android_Android Layout_Android Toolbar - Fatal编程技术网

Android 在“片段”工具栏上放置一个搜索按钮,以查看某个活动

Android 在“片段”工具栏上放置一个搜索按钮,以查看某个活动,android,android-layout,android-toolbar,Android,Android Layout,Android Toolbar,我正在尝试在片段的工具栏上添加搜索图标。 这段代码和下面的布局只是在工具栏上添加了一个菜单图标(三个垂直点),按下菜单,我会得到一个搜索。 但我不想那样。我试图在工具栏上有一个搜索图标,目的是谷歌。我怎么能做到 片段 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); @Override p

我正在尝试在片段的工具栏上添加搜索图标。 这段代码和下面的布局只是在工具栏上添加了一个菜单图标(三个垂直点),按下菜单,我会得到一个
搜索
。 但我不想那样。我试图在工具栏上有一个搜索图标,目的是谷歌。我怎么能做到

片段

@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setHasOptionsMenu(true);

  @Override
  public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.map_menu, menu);
    super.onCreateOptionsMenu(menu, inflater);
  }
地图菜单

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@+id/app_bar_search"
        android:icon="@drawable/ic_search_black_24dp"
        android:title="Search"
        app:actionViewClass="android.widget.SearchView"
        android:iconifiedByDefault="true"/>
</menu>

卸下

    app:actionViewClass="android.widget.SearchView"
从您的菜单项

添加以下代码以显示菜单项:

app:showAsAction="always"
并在选项菜单的“侦听器”中单击“使用PlaceAutocomplete.IntentBuilder”

int PLACE_AUTOCOMPLETE_REQUEST_CODE = 1;
...
try {
    Intent intent =
            new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN)
                    .build(this);
    startActivityForResult(intent, PLACE_AUTOCOMPLETE_REQUEST_CODE);
} catch (GooglePlayServicesRepairableException e) {
    // TODO: Handle the error.
} catch (GooglePlayServicesNotAvailableException e) {
    // TODO: Handle the error.
}

将app:showAsAction=“always”添加到其菜单中。太好了……谢谢。图标就在那里,在编辑它的同时,我得到了一个类似editText的视图。请您详细说明我如何将Places autocomplete活动添加到此搜索中?如果您的意思是,那么您不需要
SearchView
。您只需要一个常规菜单项,然后从选项ItemSelected()启动
PlaceAutocomplete
Intent
。哦,我想您在问题中确实这么说了。对不起,错过了。Bhavik Makwana的答案如下。您仍然需要
showAsAction
属性,尽管您必须提供自己的图标。是的,我理解。蒂纳克斯