无法在android中的搜索栏中输入文本

时间:2015-06-12 14:06:05

标签: android search android-toolbar

我正在尝试为我的Android应用程序实现搜索功能。我无法在搜索栏中输入文字。我已经尝试了SO中提到的所有方法。请让我知道我在做什么错误。我很长一段时间都在苦苦挣扎。

我的代码:

  @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        super.onCreateOptionsMenu(menu, inflater);
        inflater = getActivity().getMenuInflater();
        inflater.inflate(R.menu.menu_activity_for_fragments, menu);

        SearchManager searchManager = (SearchManager)
                getActivity().getSystemService(Context.SEARCH_SERVICE);
        searchMenuItem = menu.findItem(R.id.search);
        searchView = (SearchView) searchMenuItem.getActionView();

        searchView.setSearchableInfo(searchManager.
                getSearchableInfo(getActivity().getComponentName()));
      enteredText = (String) searchView.getQuery();

        Log.d("iFocus", "" + enteredText);
        searchView.setSubmitButtonEnabled(true);

       searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
           @Override
           public boolean onQueryTextSubmit(String query) {
               Log.d("iFocus", ""+searchView.getQuery());

               if (0 != searchView.getQuery().length()) {
                   String spnId = searchView.getQuery().toString();
                   setSearchResult(spnId);
               } else {
                   setData();
               }


               return true;
           }

           @Override
           public boolean onQueryTextChange(String newText) {

               Log.d("iFocus", ""+newText.toString());
               adapter.getFilter().filter(newText);

               return true;
           }
       });


    }

欢迎所有建议。提前谢谢。

2 个答案:

答案 0 :(得分:0)

为什么不在重写方法onQueryText上使用提交您成为查询的参数,如下所示:

@Override
public boolean onQueryTextSubmit(String query) {
    Log.d("iFocus", query);

    if (0 != query.length()) {
         setSearchResult(query);
    } else {
         setData();
    }

    return true;
} 

答案 1 :(得分:0)

使用ToolBar和搜索菜单项查看我的示例项目,min API level = 7:

android-toolbar-search