Android 搜索小部件弹出窗口

Android 搜索小部件弹出窗口,android,android-actionbar,Android,Android Actionbar,我已经将搜索小部件集成到我的操作栏中,当我提交搜索时,会打开一个屏幕(附件),这是我不想要的,因为我正在调用我自己的定制搜索。当我点击后退按钮时,此屏幕将被删除,并显示我的搜索结果 这是我正在使用的代码 public class Main_Activity extends ActionBarActivity implements SearchView.OnQueryTextListener{ protected void onCreate......{ } @Override public

我已经将搜索小部件集成到我的操作栏中,当我提交搜索时,会打开一个屏幕(附件),这是我不想要的,因为我正在调用我自己的定制搜索。当我点击后退按钮时,此屏幕将被删除,并显示我的搜索结果

这是我正在使用的代码

public class Main_Activity extends ActionBarActivity implements SearchView.OnQueryTextListener{

protected void onCreate......{

}

@Override
public boolean onCreateOptionsMenu(Menu menu){

    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.action_menu, menu);

    MenuItem searchItem = menu.findItem(R.id.action_search);
    mSearchView = (SearchView) searchItem.getActionView();

    setupSearchView(searchItem);

    return true;
}


private void setupSearchView(MenuItem searchItem) {

    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    if (searchManager != null) {
        List<SearchableInfo> searchables = searchManager.getSearchablesInGlobalSearch();

        SearchableInfo info = searchManager.getSearchableInfo(getComponentName());
        for (SearchableInfo inf : searchables) {
            if (inf.getSuggestAuthority() != null
                    && inf.getSuggestAuthority().startsWith("applications")) {
                info = inf;
            }
        }
        mSearchView.setSearchableInfo(info);
    }

    mSearchView.setOnQueryTextListener(this);
}


@Override
    public boolean onQueryTextSubmit(String query) {

        handleTextSearchClickEvent(query);

        return false;
    }

    @Override
    public boolean onQueryTextChange(String newText) {
        return false;
    }
public class Main_活动扩展ActionBarActivity实现SearchView.OnQueryTextListener{
创建时受保护的空{
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
MenuInflater充气机=getMenuInflater();
充气机。充气(右菜单。动作菜单,菜单);
MenuItem searchItem=menu.findItem(R.id.action\u search);
mSearchView=(SearchView)searchItem.getActionView();
setupSearchView(searchItem);
返回true;
}
私有void setupSearchView(MenuItem searchItem){
SearchManager SearchManager=(SearchManager)getSystemService(Context.SEARCH\u服务);
if(searchManager!=null){
List searchables=searchManager.getSearchablesInGlobalSearch();
SearchableInfo=searchManager.getSearchableInfo(getComponentName());
for(SearchableInfo-inf:searchables){
如果(inf.getSuggestAuthority()!=null
&&inf.getSuggestAuthority().startsWith(“应用程序”)){
info=inf;
}
}
mSearchView.setSearchableInfo(信息);
}
mSearchView.setOnQueryTextListener(此);
}
@凌驾
公共布尔值onQueryTextSubmit(字符串查询){
handleTextSearchClickEvent(查询);
返回false;
}
@凌驾
公共布尔onQueryTextChange(字符串newText){
返回false;
}
menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
  >
    <!-- Location Found -->
    <item android:id="@+id/action_location_found"
        android:icon="@drawable/icon_plus"
        android:title="@string/action_location_add"

        app:showAsAction="always"
       />

<!--divider-->
    <item android:id="@+id/divider"
        android:icon="@drawable/divider"
        android:title="@string/action_search"
        android:enabled="false"
        app:showAsAction="never"/>

    <!-- Search Item -->
    <item android:id="@+id/action_search"
        android:icon="@drawable/icon_search"
        android:title="@string/action_search"

        app:showAsAction = "always"
        app:actionViewClass = "android.widget.SearchView"
      />
</menu>

请在人们透露代码不可编译之前,我知道,我只是在展示必要性

我只是想知道,如果有人知道如何阻止这个屏幕显示

我们将不胜感激


我得到了它……太棒了……我自己花了很长时间在上面工作,伤了自己的心,短时间的谷歌搜索没有乐趣

我有我的方法

@Override
    public boolean onQueryTextSubmit(String query) {

        handleTextSearchClickEvent(query);

        return false;
    }
根据此返回false

返回 如果查询已由侦听器处理,则为true;如果为false,则允许SearchView执行默认操作

魔术