问题

我在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
上一个问题:
下一个问题: