2013-02-20 70 views
1

我正在使用操作欄sherlock。現在我想將一個搜索選項添加到操作欄並將意向Edittext搜索添加到其他活動。如何在操作欄中添加搜索sherlock

任何人都可以幫助我嗎?

+0

這將有助於充分http://stackoverflow.com/questions/11690525/how-to-implement-search-widget-in-action-bar-sherlock – Triode 2013-02-20 17:23:05

+0

這訓練不能幫助我。當點擊Butten意圖EditText到另一個活動時,我需要搜索按鈕的搜索選項。 – 2013-02-20 18:22:13

回答

5

做這樣的事情

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    //Used to put dark icons on light action bar 

    //Create the search view 
    final SearchView searchView = new SearchView(getSupportActionBar().getThemedContext()); 
    searchView.setQueryHint("Search"); 


    menu.add(Menu.NONE,Menu.NONE,1,"Search") 
     .setIcon(R.drawable.abs__ic_search) 
     .setActionView(searchView) 
     .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW); 

    searchView.setOnQueryTextListener(new OnQueryTextListener() { 
     @Override 
     public boolean onQueryTextChange(String newText) { 
      if (newText.length() > 0) { 
       // Search 

      } else { 
       // Do something when there's no input 
      } 
      return false; 
     } 
     @Override 
     public boolean onQueryTextSubmit(String query) { 

      InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(searchView.getWindowToken(), 0); 

      Toast.makeText(getBaseContext(), "dummy Search", Toast.LENGTH_SHORT).show(); 
      setSupportProgressBarIndeterminateVisibility(true); 

      Handler handler = new Handler(); 
      handler.postDelayed(new Runnable() { 
       public void run() { 
        setSupportProgressBarIndeterminateVisibility(false); 
       } 
      }, 2000); 

      return false; } 
    }); 

    return true; 
} 
+0

你的代碼中的whatis「上下文」???? – cheloncio 2014-02-22 15:52:10

+1

您可以使用getBaseContext()而不是上下文。順便說一下上下文就是活動的上下文(即這個)。 – Androider 2014-02-22 16:16:08