2013-03-02 78 views
4

如何使用打開文本字段的SearchView開始活動。通過這種方式,我可以搜索而不必點擊望遠鏡。 我正在使用Sherlock Action Bar。使用SearchView開始活動打開

這裏是我的代碼:

@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; 
    } 

感謝。

回答

13

試過嗎?

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); 

您可以添加對焦,開放的軟鍵盤。所以,一切都準備好讓用戶輸入和搜索。

但這不是標準的行爲。

+0

我在找到你的答案@ Archie.bpgc和搜索有關expandActionView()。 ANYWAY,我的代碼中沒有searchMenu對象。謝謝 – Gyonder 2013-03-02 09:31:33

+0

:| 'searchMenu'我的意思是你添加到菜單中的搜索菜單項 – 2013-03-02 09:33:23

+0

好的謝謝。它的工作原理:) – Gyonder 2013-03-02 09:39:02

1

你可以試試這個:

mSearchView.setIconifiedByDefault(false); 
+0

這不提供問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠在任何帖子上[評論](http://stackoverflow.com/help/privileges/comment)。 – bummi 2013-07-24 11:19:05

+0

看起來像一個有效的建議,但如果你沒有真正問問題,你應該把它寫成答案。或者,如果您要求澄清,請將其作爲評論發佈。 – Caleb 2013-07-24 12:19:49