<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" />
我在申请的顶部有这个。当应用程序启动时,EditText突出显示为橙色并且其中有一个光标;点击EditText时,会弹出软键盘。用户使用它键入EditText。
但是,当他们单击Button时,我的onClick方法会触发并执行它应该执行的所有操作,但是软键盘会保留在屏幕上,而EditText仍然会用光标突出显示。
我也有,在按钮onclick的顶部:
findViewById(R.id.name).clearFocus();
尽管如此,EditText似乎还没有清楚它的重点。如何使按钮实际上就像提交表单一样?
此外,我不会在点击按钮时转换到其他活动。我想这是典型的情况,也可能是他们不打扰隐藏键盘的原因。但是我希望将搜索框和按钮保持在屏幕顶部,这样我只需在按下按钮时动态填充并向屏幕添加视图。
我如何实现我想要的行为?
答案 0 :(得分:13)
你可以通过调用它来隐藏键盘。
InputMethodManager imm = (InputMethodManager) getSystemService(
INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getWindowToken(), 0);