5

如何在打开文本字段的情况下使用 SearchView 启动活动。通过这种方式,我无需点击望远镜就可以进行搜索。我正在使用 Sherlock 操作栏。

这是我的代码:

   @Override
    public boolean onCreateOptionsMenu(Menu menu) {

     final SearchView searchView = new SearchView(getSupportActionBar().getThemedContext());
        searchView.setQueryHint("Cerca domande");

        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

            @Override
            public boolean onQueryTextSubmit(String query) {
                if (query.length() != 0) {

                    // handle search here
                    return true;
                }
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {

                 if (newText.length()>=3) {
                     new PostTask().execute(newText);   

                     Util.setSharedPreferences(SearchActivity.this, "lastsearch", newText);
                 }
                return false;
            }
        });

        menu.add("Search")
            .setIcon(ic_search_inverse)
            .setActionView(searchView)
            .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);


        listsearch.setOnItemClickListener(this);

     return true;
    }

谢谢。

4

2 回答 2

15

试过这个?

searchMenu.expandActionView();

OnCreateOptionsMenu()

menu.add("Search")
            .setIcon(ic_search_inverse)
            .setActionView(searchView)
            .expandActionView();
            .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

您可以添加焦点,打开软键盘。因此,一切都已准备好供用户输入和搜索。

但这不是标准行为。

于 2013-03-02T09:15:58.097 回答
3

你可以试试这个:

mSearchView.setIconifiedByDefault(false);
于 2013-07-24T10:40:51.080 回答