首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索Widget Pop

搜索Widget Pop
EN

Stack Overflow用户
提问于 2014-01-29 13:59:00
回答 1查看 117关注 0票数 0

我已经将搜索小部件集成到我的操作栏中,当我提交搜索时,屏幕打开(附加),这是我不想要的,因为我称之为我自己的自定义搜索。当我点击后退按钮时,这个屏幕被移除,我的搜索结果就会显示出来。

这是我正在使用的代码

代码语言:javascript
复制
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;
    }

menu.xml

代码语言:javascript
复制
<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>

在人们说代码不能编译之前,我知道,我只是在展示必要的东西.

我只是想知道,是否有人知道如何防止这个屏幕显示?!

我将非常感谢

弹出屏幕的屏幕快照

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-29 14:24:22

我让it...amazing...after自己做了很长时间的工作,伤了我自己的心,没有joy在短时间内谷歌!

我有我的方法

代码语言:javascript
复制
@Override
    public boolean onQueryTextSubmit(String query) {

        handleTextSearchClickEvent(query);

        return false;
    }

根据这个http://developer.android.com/reference/android/widget/SearchView.OnQueryTextListener.html返回false

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

魔法!!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21433242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档