如何清除EditText的焦点?
我有一个顶部有一个搜索框( EditText
)的activity
,下面是一个ListView。 每当活动开始时,EditText总是拥有焦点并调出部分覆盖ListView
的键盘。
没有其他text view
可以获得焦点。 我希望EditText只有在用户触摸它并开始输入时才有焦点。 我尝试将clearFocus()放在onCreateView
, onViewCreated
或onCreated
,但没有运气。
在您的父级布局中设置下一个属性:
<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