Edittext跳转到下一个edittext,但是错误

时间:2012-01-29 16:53:25

标签: android android-layout

我的应用需要帮助。这是我的具有相对布局的xml文件,我需要在按Enter键后跳转到下一个edittext。 但是有一个问题,如果我正在写editTextKm并按Enter键,它会跳转到editTextFullTank,但我需要跳转到editTextManufactYear。怎么做?

    <EditText
        android:id="@+id/editTextSPZ"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"            
        android:maxLength="11"
        android:inputType="textCapCharacters"/>

    <EditText
        android:id="@+id/editTextKm"
        android:layout_width="180dp"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"            
        android:layout_below="@+id/editTextSPZ"
        android:inputType="number" 
        android:maxLength="7"/>

    <EditText
        android:id="@+id/editTextManufactYear"
        android:layout_width="120dp"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/editTextKm"
        android:layout_alignBottom="@+id/editTextKm"
        android:layout_alignParentRight="true"
        android:layout_marginRight="2dp"
        android:layout_toRightOf="@+id/editTextKm"           
        android:inputType="number"
        android:maxLength="4" />

    <EditText
        android:id="@+id/editTextFullTank"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"            
        android:layout_below="@+id/editTextKm"
        android:inputType="number" 
        android:maxLength="3"/>

    <EditText
        android:id="@+id/editTextReserveTank"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/editTextManufactYear"            
        android:layout_toRightOf="@+id/editTextFullTank"            
        android:inputType="number"
        android:maxLength="3" />        

     <EditText
        android:id="@+id/editTextNote"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"            
        android:layout_below="@+id/editTextFullTank"            
        android:capitalize="sentences"
        android:singleLine="false"/>

2 个答案:

答案 0 :(得分:7)

有关详细信息,请参阅Anddroid Developer blog

焦点移动基于一种算法,该算法在给定方向上找到最近邻居。在极少数情况下,默认算法可能与开发人员的预期行为不匹配。在这些情况下,您可以通过在布局文件中使用这些XML属性来提供显式覆盖:

                    android:nextFocusLeft="reference"
                    android:nextFocusRight="reference"
                    android:nextFocusUp="reference"
                    android:nextFocusDown="reference"

答案 1 :(得分:1)

添加属性:

android:nextFocusDown="@id/your_next_edit_text_to_focus"根据您的需要为每个EditText

您也可以使用:

android:nextFocusUp="@id/your_next_edit_text_to_focus"
android:nextFocusLeft="@id/your_next_edit_text_to_focus"
android:nextFocusRight="@id/your_next_edit_text_to_focus"