2012-12-18 26 views
1

我做了以下内容,但它没有工作单击操作栏中的搜索按钮后如何触发操作?

@Override 
    public boolean onOptionsItemSelected(MenuItem menuItem) 
    {  

     startActivity(new Intent(NamesList.this,MainActivity.class)); 

     switch (menuItem.getItemId()) { 
     case 1: 
      search = (EditText) menuItem.getActionView(); 
      search.addTextChangedListener(filterTextWatcher); 
      search.requestFocus(); 
      InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); 

      String result = search.getText().toString(); 

      Toast.makeText(getApplicationContext(), "the :: " + result, Toast.LENGTH_LONG); 

     } 


     return true; 

    } 

回答

0

您可以使用search.setOnQueryTextListener()设置一个侦听器搜索查看内用户操作。

search.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
     @Override 
     public boolean onQueryTextSubmit(String query) { 
      //show your toast here 
      return true; 
     } 

     @Override 
     public boolean onQueryTextChange(String newText) { 
      return false; 
     } 
    }); 

search.setOnSearchClickListener()设置侦听器以通知何时按下搜索按钮。这仅在文本字段默认不可见时才有用。

+0

感谢您的答案,但即时消息试图做的是显示搜索字段的值,一旦搜索按钮被点击,如显示它作为祝酒 – user1283633

+0

已更新的答案 – Nermeen