Android:EditText和Button; 单击按钮时,取消聚焦EditText并隐藏软键盘?

Ric*_*ket 7 android

<EditText android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:layout_weight="1"
    android:id="@+id/name" android:singleLine="true"
    android:maxLength="12" android:capitalize="none" android:inputType="text" />
<Button android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:id="@+id/search_button"
    android:text="Search" />
Run Code Online (Sandbox Code Playgroud)

我在申请的顶部有这个.当应用程序启动时,EditText突出显示为橙色并且其中有一个光标; 点击EditText时,会弹出软键盘.用户使用它键入EditText.

但是,当他们单击Button时,我的onClick方法会触发并执行它应该执行的所有操作,但是软键盘会停留在屏幕上并且EditText仍会使用其光标突出显示.

我也有,在按钮onclick的顶部:

findViewById(R.id.name).clearFocus();
Run Code Online (Sandbox Code Playgroud)

尽管如此,EditText似乎还没有清楚它的重点.如何使按钮实际上就像提交表单一样?

此外,我不会在点击按钮时转换到其他活动.我想这是典型的情况,也可能是他们不打扰隐藏键盘的原因.但是我希望将搜索框和按钮保持在屏幕顶部,这样我只需在按下按钮时动态填充并向屏幕添加视图.

我怎样才能实现我想要的行为?

Rob*_*ond 13

你可以通过调用它来隐藏键盘.

InputMethodManager imm = (InputMethodManager) getSystemService(
    INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getWindowToken(), 0);
Run Code Online (Sandbox Code Playgroud)