如何清除EditText的焦点?

我有一个顶部有一个搜索框( EditText )的activity ,下面是一个ListView。 每当活动开始时,EditText总是拥有焦点并调出部分覆盖ListView的键盘。

没有其他text view可以获得焦点。 我希望EditText只有在用户触摸它并开始输入时才有焦点。 我尝试将clearFocus()放在onCreateViewonViewCreatedonCreated ,但没有运气。


在您的父级布局中设置下一个属性:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainLayout"
    android:descendantFocusability="beforeDescendants"
    android:focusableInTouchMode="true" >

现在,当activity开始时这个布局获得默认焦点。

此外,我们还可以在运行时从子视图中移除焦点(例如,完成小孩编辑后):

findViewById(R.id.mainLayout).requestFocus();

要么

查看AndroidManifest.xml元素。

android:windowSoftInputMode="stateHidden"

进入活动时,它总是隐藏键盘。


您必须在XML中的editTiext field中提及<requestFocus>标记,然后再次运行


你可以在容器视图上使用设置焦点。 添加到容器android:focusableInTouchMode =“true”android:focusable =“true”并标记requestFocus示例:

<RelativeLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:focusableInTouchMode="true"
    android:focusable="true">
    <requestFocus/>

    <EditText
        android:id="@+id/edit_text_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</RelativeLayout>
链接地址: http://www.djcxy.com/p/4139.html

上一篇: How to clear focus for EditText?

下一篇: editText is not losing focus