2016-10-04 73 views
0

菜单中有一个searchview,我有一个按钮。当按钮被点击时,我需要为搜索打开搜索视图,这意味着焦点应该在searchview上输入搜索文本。单击按钮时,将重点放在菜单中的searchview上

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_fooddoof, menu); 

    searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.search)); 
     TextView searchText = (TextView) 
      searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text); 
    Typeface myCustomFont = Typeface.createFromAsset(getAssets(), "fonts/ProximaNovaRgRegular.ttf"); 
    searchText.setTypeface(myCustomFont); 


    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
     @Override 
     public boolean onQueryTextSubmit(String query) { 
       Intent intent = new Intent(descStore.this, listdisplay.class); 
       intent.putExtra("deskey", query); 
       startActivity(intent); 
       return false; 

     } 

     @Override 
     public boolean onQueryTextChange(String newText) { 
      //android.widget.Filter filter = descAdapter.getFilter(); 
      //filter.filter(newText); 
      return true; 

     } 
    }); 

    searchView.setSubmitButtonEnabled(true); 
    return true; 

} 

当点击一个按钮:

@Override 
public void onClick(View v) { 
    if (v == mViews.description1) { 
     searchview.seticonified(false); 
    } 

} 

我试过seticonified选项,但它不工作。请帮忙。

回答

0

你可以要求搜索查看的重点如下

@Override 
     public void onClick(View v) { 
       switch (view.getId()) { 
       case R.id.your_button_id: 
        searchview.seticonified(false); 
        searchview.requestFocus(); //request focus of the view 
       break; 
      } 
     }