EditText与仿钉钉的搜索功能
2018-07-27 本文已影响11人
饮水思源为名
需求:
仿钉钉的通讯录搜索,点击搜索框后,跳页面,直接让输入框获取焦点并且弹出软键盘,当用户输入内容后,点击软键盘上的搜索,隐藏软键盘并且显示列表。
总结需求如下:
- 进入页面后输入框获取焦点并且默认打开软键盘
- 修改软键盘的确定键为搜索按钮,并且监听搜素按钮
- 搜索后隐藏软键盘,刷新数据
效果图:

实现:
- 输入框获取焦点
et_content.setFocusable(true);
et_content.setFocusableInTouchMode(true);
et_content.requestFocus();
- 打开软键盘
InputMethodManager inputManager =(InputMethodManager)et_content.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(et_content, 0);
- 修改软键盘按钮
android:imeOptions="actionSearch"
- 监听软键盘的搜索按钮
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
switch (actionId){
case EditorInfo.IME_ACTION_SEARCH:
startSearch();
break;
}
return false;
}
- 隐藏软键盘
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(et_content.getWindowToken(), 0);