如何在工具栏中实现自动完成 google place api - Android

Posted

技术标签:

【中文标题】如何在工具栏中实现自动完成 google place api - Android【英文标题】:How to implement autocomplete google place api in toolbar - Android 【发布时间】:2021-02-19 11:06:27 【问题描述】:

我正在实现一个基于餐厅的应用程序,我在工具栏中输入地名 我无法在应用工具栏中实现自动完成功能.....请帮助

菜单xml代码

<?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/my_search"
        app:showAsAction="ifRoom"
        android:icon="@drawable/ic_baseline_search_24"
        android:title="My Location" />
    <item android:id="@+id/my_location"
        app:showAsAction="ifRoom"
        android:icon="@drawable/ic_baseline_gps_fixed_24"
        android:title="My Location" />
</menu>

java 代码

@Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbarLayout);
        setSupportActionBar(toolbar);

       

   
@Override
    public boolean onCreateOptionsMenu(Menu menu) 
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_main, menu);
        MenuItem item = menu.findItem(R.id.my_search);
        SearchView searchView = (SearchView) item.getActionView();
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() 
            @Override
            public boolean onQueryTextSubmit(String query) 
                return false;
            

            @Override
            public boolean onQueryTextChange(String newText) 
                return false;
            
        );
        return true;
    

【问题讨论】:

【参考方案1】:

您尚未在菜单 xml 中声明操作提供程序,因此系统不知道您正在尝试使用工具栏中的搜索界面。将actionViewClass 属性添加到您的菜单项。它应该看起来像这样:

<item 
    android:id="@+id/my_search"
    app:showAsAction="ifRoom|collapseActionView"
    app:actionViewClass="android.support.v7.widget.SearchView"
    android:icon="@drawable/ic_baseline_search_24"
    android:title="My Location" />

【讨论】:

以上是关于如何在工具栏中实现自动完成 google place api - Android的主要内容,如果未能解决你的问题,请参考以下文章

如何在UWP应用中实现Google登录?

如何在反应材料-ui自动完成中实现最小字符长度功能

如何在 MVC 剑道树列表编辑器中实现剑道自动完成下拉菜单

如何在 Flutter 中实现具有自动完成和搜索等功能的列表

如何在 VueJS 中实现 Google 登录 API?

如何在.net core mvc的搜索框中实现自动完成功能?