Android会从所有视图中移除焦点

时间:2016-02-29 15:29:27

标签: android android-edittext focus

这是一个相当简单的问题,但我不相信我发现的所有答案都不起作用。

我有两个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()框是多行的,所以我不能使用'完成'键盘按钮,因为我需要返回一个。

2 个答案:

答案 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();