android - 在 fragment 工具栏上放置一个搜索按钮,用于某个 Activity

标签 android android-layout android-toolbar

我正在尝试在 fragment 的工具栏上添加搜索图标。 这段代码和下面的布局只是在工具栏上添加了一个菜单图标(三个垂直点),按下菜单后,我得到了一个search。 但我不想要那个。我正在尝试在工具栏中添加一个搜索图标,目的是通过谷歌搜索 places autocomplete activity .我该怎么做?

fragment

@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);
  }

map 菜单

<?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.
}

关于android - 在 fragment 工具栏上放置一个搜索按钮,用于某个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49010298/

相关文章:

android - ActionMode 触摸事件被传递到工具栏

android - 更改工具栏后退箭头颜色

java - 菜单项未显示在工具栏 SDK 29 中

android - 简单的 Android 相机应用程序 - 旋转导致 NullPointerException

android - 如何使用ZXing获取二维码的坐标?

android - flutter中如何修改公司域名?

android - 如何在图表引擎中的 x 轴上做时间

Android Spinner 工具栏样式

android - 如何通过宽度自动设置 View 的高度?

android - 在文本和 ImageView 之间放置空格