这是一个相当简单的问题,但我不相信我发现的所有答案都不起作用。
我有两个EditText
的布局,窗口的底部只剩下一些空白区域。当用户点击窗口的空白部分时,我希望每个EditText
都失去焦点。所以我的猜测是我必须在根OnTouchListener
的{{1}}中添加一些东西:
View
我尝试了几件事:
从某个地方建议的布局rootView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// Put something here
}
});
请求焦点实际上是关注View
之一。
我还尝试将EditText
的{{1}}设置为setFocusable
但我之后无法将它们重新置于EditText
。
我也尝试了简单的false
,但它也将重点放在了true
上。
编辑:我的rootView.clearFocus()
框是多行的,所以我不能使用'完成'键盘按钮,因为我需要返回一个。
答案 0 :(得分:5)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/ll_root_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
LinearLayout llRootView = findViewBindId(R.id.ll_root_view);
llRootView.clearFocus();
我在已完成更新个人资料信息时使用此功能,并从我的布局中的EditText中删除所有焦点
====&GT;更新:在父布局内容中,我的EditText添加行:
android:focusableInTouchMode="true"
答案 1 :(得分:0)
在 Kotlin 中:
view?.clearFocus()
在 Java 中:
getView().clearFocus();