如何清除焦点的EditText?(How to clear focus for EditText?)

2019-08-07 13:34发布

我有一个搜索框(一个活动EditText )在上面,下面和一个ListView。 当活动开始时,总的EditText具有焦点,并带来了其部分覆盖键盘ListView

还有,可以有重点没有其他的文本视图。 我只想当用户触摸它,并开始打字的EditText有重点。 我试图把clearFocus()onCreateViewonViewCreatedonCreated ,但没有运气。

Answer 1:

设置在父布局下一个属性:

<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"

它在进入活动时,总是隐藏按键板。



Answer 2:

你必须提到<requestFocus>在标签editTiext field在XML删除并重新运行



Answer 3:

你可以在容器视图中使用集焦点。 放入容器内的android:focusableInTouchMode = “true”时机器人:可聚焦= “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>


Answer 4:

你可以试试这个:

editText.clearFocus();

在任何你想明确的重点。



Answer 5:

添加机器人:可聚焦=“真”和android:focusableInTouchMode中的EditText作为跟随父布局=“真”的元素;

 android:id="@+id/linearLayout7" android:layout_width="fill_parent" android:layout_height="wrap_content" android:focusable="true" android:focusableInTouchMode="true"> 

我认为,它应该帮助你。



Answer 6:

下面是答案的EditText,明确重点触摸外面 。

或者你可以只写小部件,这将只显示与TextView的和文字onClick将显示对话框, EditText ,您可以编辑这个文本/



Answer 7:

试试这个

在您的Activity在宣言AndroidManifest.xml添加以下代码:

android:windowSoftInputMode="stateHidden"

这将防止键盘弹出了的时候活动变得可见。

编码愉快:)



Answer 8:

这将做你的工作:

android:windowSoftInputMode="stateHidden"



文章来源: How to clear focus for EditText?