2013-02-20 74 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