现在的位置: 首页 > 综合 > 正文

菜鸟笔记3-EditText失去焦点并隐藏键盘

2017年02月24日 ⁄ 综合 ⁄ 共 706字 ⁄ 字号 评论关闭

写了一个布局界面,放了一个EditText和其他一些组件,进入activity的时候EditText自动获得焦点并弹出输入法

解决:

在其他组件上加上

android:focusable="true"
android:focusableInTouchMode="true"

让该组件获得焦点就行了。

实现在点击其他地方后使得EditText失去焦点并隐藏键盘。

先来说一下隐藏键盘吧:

InputMethodManager imm = (InputMethodManager) getSystemService
                        (Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mEtSearch.getWindowToken(),0);

我的做法是让EditText所在的layout响应点击事件获得焦点,并隐藏键盘

public void onClick(View view) {

        switch (view.getId()){
           
            case R.id.course_content:

                mContent.requestFocus();
                InputMethodManager imm = (InputMethodManager) getSystemService
                        (Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(mEtSearch.getWindowToken(),0);
                Log.v(TAG,"click");
                break;
        }
    }

就这么短短的几行代码我找了好几个小时+N次试验难过

这个方法至少可以实现效果,不知道还有没有更好的方法,希望有更好的方法的朋友评论一下吐舌头

抱歉!评论已关闭.