遇到了一个Edittext输入的功能,要求在键盘上点击搜索 页面上没有搜索确定按钮。
我们看看怎么实现吧
1、属性设置
布局里edittext需要要有这两个属性才能生效:
android:imeOptions="actionSearch"
android:singleLine="true"
有了这两个属性键盘上的回车键才能改为搜索。
2、Edittext事件监听方法
edittext.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
//关闭软键盘
hintKbTwo();
return true;
}
return false;
}
});
在监听事件里进行关闭软键盘
3.关闭软键盘
/**
* 此方法只是关闭软键盘
*
*/
private void hintKbTwo() {
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isActive() && getActivity().getCurrentFocus() != null) {
if (getActivity().getCurrentFocus().getWindowToken() != null) {
imm.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
}
}
}
4、显示键盘的方法
/**
* 显示键盘
*
* @param et 输入焦点
*/
public void showInput(final EditText et) {
et.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT);
}