【问题标题】:Searchable SearchView setSuggestionsAdapter() in android studio在 android studio 中可搜索的 SearchView setSuggestionsAdapter()
【发布时间】:2017-07-22 11:16:14
【问题描述】:

我正在开发一个应用程序。它需要一个搜索视图。我在使用光标适配器时遇到问题。我只是想在建议适配器中显示一个字符串数组或 xml 字符串数组。当我单击搜索按钮时,它会显示建议,而在建议单击时,它会显示给定的工作。 我需要能帮助我解决这个问题的代码。我不是专业的程序员。

【问题讨论】:

    标签: android searchview searchable


    【解决方案1】:

    你可以使用SearchAutoComplete视图来实现,试试下面这样的

          @Override
            public boolean onCreateOptionsMenu(Menu menu) {
    
               getMenuInflater().inflate(R.menu.activity_main_menu, menu);
               searchMenuItem = menu.findItem(R.id.action_search)
    
               searchView = (SearchView) searchMenuItem.getActionView();
               searchAutoComplete = (SearchView.SearchAutoComplete) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
    
               SearchManager searchManager =
                                (SearchManager) getSystemService(this.SEARCH_SERVICE);
                        searchView.setSearchableInfo(
                                searchManager.getSearchableInfo(getComponentName()));
    
               ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.suggetion, jsonArrayList);
    
                        // jsonarraylist is static string array
    
               searchAutoComplete.setAdapter(adapter);
    
               searchAutoComplete.setOnItemClickListener(new AdapterView.OnItemClickListener() {
               @Override
               public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                              // Your code for onitemclick
               }
            }
    

    activity_main_menu.xml

        <?xml version="1.0" encoding="utf-8"?>
        <menu xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto">
    
            <item
                android:id="@+id/action_search"
                android:icon="@drawable/ic_search"
                android:title="@string/search"
                app:actionViewClass="android.support.v7.widget.SearchView"
                app:showAsAction="always|collapseActionView"/>
        </menu>
    

    建议.xml

    <?xml version="1.0" encoding="utf-8"?>
    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@android:id/text1"
        style="?android:attr/dropDownItemStyle"
        android:layout_width="match_parent"
        android:layout_height="?android:attr/listPreferredItemHeight"
        android:background="@color/colorAccent"
        android:textAppearance="?android:attr/textAppearanceLargePopupMenu"/>
    

    希望对你有帮助,祝你一切顺利。

    【讨论】:

    • 非常感谢兄弟,一切正常。还有一件事我可以实施layour.suggestion。 :)
    • 对不起,忘了提...已编辑:)
    • 非常感谢 :)。如果我希望它实现片段(在导航栏布局中)
    • 抱歉打扰了。它在片段中工作正常,但有一个问题,它仅在 2 3 个字母匹配第一个字母后才显示项目。否则它不会显示该项目。
    • 你需要的:searchAutoComplete.setThreshold (0);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-21
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    • 2014-05-07
    相关资源
    最近更新 更多