android Edittext输入修改软键盘并关闭软键盘

遇到了一个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);
}

你可能感兴趣的:(android Edittext输入修改软键盘并关闭软键盘)