問題

我在Android中有一個Activity,有兩個元素:

  1. EditText
  2. ListView

當我的Activity啟動時,EditText立即有輸入焦點(閃爍游標).我不希望任何控制元件在啟動時有輸入焦點.我試過了:

 EditText.setSelected(false);
 

沒有運氣.當Activity開始時,如何說服EditText不選擇自己?

  最佳答案

Luc和Mark的優秀答案然而缺少一個好的程式碼示例.將標籤android:focusableInTouchMode="true"新增到<LinearLayout>,如下面的示例將解決問題.

 <!-- Dummy item to prevent AutoCompleteTextView from receiving focus -->
<LinearLayout
    android:focusable="true" 
    android:focusableInTouchMode="true"
    android:layout_width="0px" 
    android:layout_height="0px"/>

<!-- :nextFocusUp and :nextFocusLeft have been set to the id of this component
to prevent the dummy from receiving focus again -->
<AutoCompleteTextView android:id="@+id/autotext"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:nextFocusUp="@id/autotext" 
    android:nextFocusLeft="@id/autotext"/>
 

  相同標籤的其他問題

androidlistviewandroid-edittext
上一個問題:
下一個問題: