android - MaterialSearchView android中的OnClick项目选择

标签 android android-layout android-view

我正在使用由 Miguel Catalan 从 this repo 开发的 Material 搜索 View .我有建议列表,当用户选择他/她应该看到过滤结果的建议时。我的问题是文本书写事件或选项选择没有任何反应。我在我的主要 Activity 文件中添加了这个:-

    MaterialSearchView searchView = (MaterialSearchView) findViewById(R.id.search_view);
    //searchView.setSuggestions(getResources().getStringArray(R.array.query_suggestions));
    String [] suggestions = {"Item1","Item2","Item3"};
    searchView.setSuggestions(suggestions);
    searchView.setOnQueryTextListener(new MaterialSearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            Log.d("here",query);
            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {
            Log.d("here",newText);

            return false;
        }

    });

    searchView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Log.d("ItemClick","onItemClick,");
        }
    });

    searchView.setOnSearchViewListener(new MaterialSearchView.SearchViewListener() {
        @Override
        public void onSearchViewShown() {
            Log.d("here","search");
        }

        @Override
        public void onSearchViewClosed() {
            Log.d("here","search");
        }
    });

我在调试日志中没有看到任何内容,这意味着没有调用任何方法。谁能说出这里的原因是什么? enter image description here

最佳答案

我有非常快速和简单的答案给你。

只需在 OnCreateOptionMenu() 方法中复制以下代码。

searchView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {        
                  searchView.dismissSuggestions();
                  searchView.closeSearch();
                  Toast.makeText(MainActivity.this, adapterView.getItemAtPosition(i).toString(), Toast.LENGTH_SHORT).show();
                 //show search result after clearing/closing search.
    }
});

我在这里使用 This Material SearchView

希望这对你有帮助。

关于android - MaterialSearchView android中的OnClick项目选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43337999/

相关文章:

android - 测试当前任务是否被锁定的方法?

android - 来自 Android 记事本示例的 Intent

android - android :layout_gravity and android:gravity之间的区别

android - 在 Textview android :text 中插入和符号

android - 当View有边距定位时,如何获取View的X坐标?

android - LayoutInflater attachToRoot 参数是什么意思?

java - 多平台加密java移动存储系统的构想

android - 在 Webview 中缩放图像

java - 如何解决: Error inflating class android. support.v7.widget.CardView

java - 从实例内部 inflatedView 不起作用