How to clear focus for EditText?
 I have an activity with a search box ( EditText ) on the top, and a ListView below.  Whenever the activity starts, the EditText always has focus and bring up the keyboard which partially cover the ListView .  
 There's no other text view that can have focus.  I want the EditText to have focus ONLY when the user touches it and start typing.  I try to put clearFocus() in onCreateView , onViewCreated or onCreated , but no luck.  
Set in your parent layout next attributes:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainLayout"
    android:descendantFocusability="beforeDescendants"
    android:focusableInTouchMode="true" >
 And now, when activity starts this layout getting default focus.  
Also we can remove focus from children views in runtime (eg after finishing child editing):
findViewById(R.id.mainLayout).requestFocus();
or
Look in the AndroidManifest.xml element.
android:windowSoftInputMode="stateHidden"
It always hide key board when entering the activity.
您必须在XML中的editTiext field中提及<requestFocus>标记,然后再次运行
You could use set focus on container view. Add to container android:focusableInTouchMode="true" , android:focusable="true" and tag requestFocus example:
<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>
上一篇: 在Android 4.x上按下时Listview中的EditText失去焦点
下一篇: 如何清除EditText的焦点?
