相关疑难解决方法(0)

如何检测SearchView的后退按钮?

我正在使用单个活动来显示SearchView以及显示搜索结果.搜索结果只是项目的子集,因此搜索充当过滤器.一切似乎都运行正常,但是当我点击SearchView的后退按钮时,我无法弄清楚如何恢复视图中的所有项目.

或者可能有另一种方法可以检测用户何时从搜索结果导航到上一个视图(在我的情况下,是同一个视图).

谢谢

android android-layout searchview android-search

15
推荐指数
2
解决办法
2万
查看次数

如何在android中处理Search View的后退按钮

我已经开发了一个在操作栏中有搜索视图的应用程序,当我完全搜索其过滤器时我遇到问题但是当我按下按钮时它仍然显示过滤器数据所以我的问题是什么是Action Bar Search的后退按钮事件视图.?

在此输入图像描述

我的搜索视图代码是

SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(Menus.SEARCH));
    searchView.setQueryHint(this.getString(R.string.search));
    editSearch = (EditText) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
    editSearch.setHintTextColor(getResources().getColor(R.color.white));
    searchView.setOnQueryTextListener(OnQuerySearchView);


 private OnQueryTextListener OnQuerySearchView = new OnQueryTextListener() {

    @Override
    public boolean onQueryTextSubmit(String newText) {
        if (TextUtils.isEmpty(newText)) {
            listAllContact.clearTextFilter();
        } else {
            listAllContact.setFilterText(newText.toString());
        }
        return true;
    }

    @Override
    public boolean onQueryTextChange(String newText) {
        String text = editSearch.getText().toString()
                .toLowerCase(Locale.getDefault());
        adapter.filter(text);
        return true;
    }

};
Run Code Online (Sandbox Code Playgroud)

适配器中的过滤方法

public void filter(String charText) {
    charText = charText.toLowerCase(Locale.getDefault());
    propertyList.clear();

    if (charText.length() == 0) {
       propertyList.addAll(arrayList);
    notifyDataSetChanged();

    } else {
        for (ContactProperty p …
Run Code Online (Sandbox Code Playgroud)

android searchview android-search

11
推荐指数
3
解决办法
2万
查看次数

不推荐使用MenuItemCompat.setOnActionExpandListener

如果搜索视图是打开的,我有一些设置布尔值的代码.

MenuItemCompat.setOnActionExpandListener(action_search, new MenuItemCompat.OnActionExpandListener() {
            @Override
            public boolean onMenuItemActionExpand(MenuItem item){
                isSearch = true;
                return true;
            }
            @Override
            public boolean onMenuItemActionCollapse(MenuItem item){
                isSearch = false;
                return true;
            }
        });
Run Code Online (Sandbox Code Playgroud)

有用.我很满意它的反应方式.但是,它显示为已弃用,setOnActionExpandListener将与警告一起划掉

不推荐使用android.support.v4.view.MenuItemCompat.setOnActionExpandListener

建议?

android deprecated searchview

10
推荐指数
2
解决办法
4513
查看次数