自定义搜索框

来源:互联网 发布:xp映射网络驱动器 编辑:程序博客网 时间:2024/04/19 16:00

常见的搜索功能,一种是点击软键盘的搜索键,但是我们自己写的程序出来的软键盘没有搜索键,因为默认没有,所以要手动调出来

mEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {    @Override    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {        if (actionId == EditorInfo.IME_ACTION_SEARCH){            //先隐藏软键盘            ((InputMethodManager)(mEditText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE)))                    .hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);            //实现搜索逻辑            Toast.makeText(SelectArea.this, "yes!!!", Toast.LENGTH_SHORT).show();            return true ;        }        return false;    }});
百度了之后才知道,很简单,给EditText加上上面的代码之后就哦了!

还有一种搜索效果是,类似于自动完成的EditText,每输入一个字符下面的ListView就筛选出一部分数据:

mEditText.addTextChangedListener(new TextWatcher() {    @Override    public void beforeTextChanged(CharSequence s, int start, int count, int after) {    }    @Override    public void onTextChanged(CharSequence s, int start, int before, int count) {        mAdapter.getFilter().filter(s);        mAdapter.notifyDataSetChanged();    }    @Override    public void afterTextChanged(Editable s) {    }});
是不是很easy!mAdapter.getFilter().filter(s)是关键!


0 0