关于searchView的黑框去除问题

来源:互联网 发布:seo app 编辑:程序博客网 时间:2024/05/01 14:32

关于searchView的黑框去除问题

发现很多人都遇到了这个问题,希望可以帮助到你们


图片名称

简单粗暴直接上代码

     adapter = new MyAdapter(this,R.layout.insect,mBackData);     //mBabckDate是自定义的过滤内容( List<viewContent> mBackData = new ArrayList<viewContent>(); )     listView.setAdapter(adapter);//适配器    mSearchView = (SearchView) findViewById(R.id.searchView);    //设置false无法自动获取焦点,防止软键盘自动跳出。    mSearchView.setFocusable(false);    //SearchView 修改字体颜色和Hint颜色    int id = mSearchView.getContext().getResources()    .getIdentifier("android:id/search_src_text", null, null);    TextView textView = (TextView) mSearchView.findViewById(id);    textView.setTextColor(Color.BLACK);           textView.setHintTextColor(Color.parseColor("#CCCCCC"));    textView.setHintTextColor(getResources().getColor(R.color.black));    // 设置搜索文本监听    mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {        // 当点击搜索按钮时触发该方法        public boolean onQueryTextSubmit(String query) {            return false;        }        // 当搜索内容改变时触发该方法        public boolean onQueryTextChange(String newText) {        if (!TextUtils.isEmpty(newText)){//判断输入是否为空               listView.setFilterText(newText);//进行过滤            }else{                listView.clearTextFilter();            }            return true;        }    });

上面的监听事件中会自动会自动触发黑框,其实修改非常简单,只要不用listview自带的过滤机制就好,通过适配器过滤就可以完美地解决这个问题。
图片名称

public boolean onQueryTextChange(String newText) {            adapter.getFilter().filter(newText);//通过适配器过滤            return true;        }

希望可以帮助到您!

原创粉丝点击