Android EditText在键盘上单击时指定下一个目标

时间:2016-02-10 11:11:08

标签: android android-edittext

我有9个EditText,其中3个在它们下面,然后是另外3个,然后是另外3个。 我希望当用户点击键盘上的“下一步”按钮移动到右侧的EditText而不是它下方的EditText时。现在,如果你单击“下一步”,它将转到它下面的那一个,直到你到达底部的一个“Done”。

无论如何,让键盘上的下一个按钮将我们带到特定的android:nextFocusDown="@+id/

我在发帖之前阅读了一些文章,然后他们建议<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000000"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:background="@drawable/dreampark" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView2" android:layout_below="@+id/imageView" android:layout_centerHorizontal="true" android:background="@drawable/merrygoround" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView4" android:src="@drawable/horseride" android:layout_alignParentBottom="true" android:layout_below="@+id/imageView2" android:layout_marginTop="266dp" android:layout_alignRight="@+id/imageView2" android:layout_alignEnd="@+id/imageView2" android:layout_marginRight="38dp" android:layout_marginEnd="38dp" android:layout_alignLeft="@+id/imageView2" android:layout_alignStart="@+id/imageView2" android:layout_marginLeft="36dp" android:layout_marginStart="36dp" android:onClick="Play" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/imageView2" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentBottom="true" android:layout_marginBottom="107dp"> <EditText android:layout_width="50dp" android:layout_height="46dp" android:inputType="number" android:ems="10" android:id="@+id/nbr1" android:background="@drawable/edittextstyle" android:gravity="center" android:maxLength="4" android:singleLine="true"/> <EditText android:layout_width="50dp" android:layout_height="46dp" android:inputType="number" android:ems="10" android:id="@+id/nbr2" android:background="@drawable/edittextstyle" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/nbr1" android:layout_toEndOf="@+id/nbr1" android:gravity="center" android:maxLength="4" /> <EditText android:layout_width="50dp" android:layout_height="46dp" android:inputType="number" android:ems="10" android:id="@+id/nbr3" android:background="@drawable/edittextstyle" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/nbr2" android:layout_toEndOf="@+id/nbr2" android:gravity="center" android:maxLength="4" /> <EditText android:layout_width="50dp" android:layout_height="46dp" android:inputType="number" android:ems="10" android:id="@+id/nbr4" android:background="@drawable/edittextstyle" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/nbr3" android:layout_toEndOf="@+id/nbr3" android:gravity="center" android:maxLength="4" /> <ImageButton android:layout_width="55dp" android:layout_height="46dp" android:id="@+id/imageButton" android:background="@drawable/frstg" android:onClick="PlayFirstGame" android:layout_above="@+id/partTwoNbr4" android:layout_toLeftOf="@+id/imageView3" android:layout_toStartOf="@+id/imageView3" /> <ImageView android:layout_width="50dp" android:layout_height="46dp" android:id="@+id/imageView3" android:src="@drawable/noplay" android:layout_alignBottom="@+id/imageButton" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> <EditText android:layout_width="50dp" android:layout_height="46dp" android:inputType="number" android:ems="10" android:id="@+id/partTwoNbr1" android:background="@drawable/edittextstyle2" android:layout_below="@+id/nbr1" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:gravity="center" android:maxLength="4" /> <EditText android:layout_width="50dp" android:layout_height="46dp" android:inputType="number" android:ems="10" android:id="@+id/partTwoNbr2" android:background="@drawable/edittextstyle2" android:layout_alignTop="@+id/partTwoNbr1" android:layout_toRightOf="@+id/partTwoNbr1" android:layout_toEndOf="@+id/partTwoNbr1" android:gravity="center" android:maxLength="4" /> <EditText android:layout_width="50dp" android:layout_height="46dp" android:inputType="number" android:ems="10" android:id="@+id/partTwoNbr3" android:background="@drawable/edittextstyle2" android:layout_alignBottom="@+id/partTwoNbr2" android:layout_toRightOf="@+id/partTwoNbr2" android:layout_toEndOf="@+id/partTwoNbr2" android:gravity="center" android:maxLength="4" /> <EditText android:layout_width="50dp" android:layout_height="46dp" android:inputType="number" android:ems="10" android:id="@+id/partTwoNbr4" android:background="@drawable/edittextstyle2" android:layout_below="@+id/nbr4" android:layout_toRightOf="@+id/nbr3" android:layout_toEndOf="@+id/nbr3" android:gravity="center" android:maxLength="4" /> <EditText android:layout_width="50dp" android:layout_height="46dp" android:inputType="number" android:ems="10" android:id="@+id/partTwoNbr5" android:background="@drawable/edittextstyle2" android:layout_below="@+id/partTwoNbr1" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:gravity="center" android:maxLength="4" /> <EditText android:layout_width="50dp" android:layout_height="46dp" android:inputType="number" android:ems="10" android:id="@+id/partTwoNbr6" android:background="@drawable/edittextstyle2" android:layout_alignTop="@+id/partTwoNbr5" android:layout_toRightOf="@+id/partTwoNbr5" android:layout_toEndOf="@+id/partTwoNbr5" android:gravity="center" android:maxLength="4" /> <ImageButton android:layout_width="55dp" android:layout_height="46dp" android:id="@+id/imageButton2" android:background="@drawable/scndg" android:onClick="PlaySecondGame" android:layout_alignBottom="@+id/partTwoNbr6" android:layout_toLeftOf="@+id/imageView5" android:layout_toStartOf="@+id/imageView5" /> <ImageView android:layout_width="50dp" android:layout_height="46dp" android:id="@+id/imageView5" android:src="@drawable/noplay" android:layout_alignBottom="@+id/imageButton2" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> </RelativeLayout> </RelativeLayout> 但这不起作用。我认为这是另一种用法。

编辑:

class Personne(models.Model):

    NIVEAU_ETUDE_PETITE_ENFANCE = u'0'
    NIVEAU_ETUDE_PRIMAIRE = u'1'
    NIVEAU_ETUDE_SECONDAIRE_1ER_CYCLE = u'2'
    NIVEAU_ETUDE_SECONDAIRE_2ND_CYCLE = u'3'
    NIVEAU_ETUDE_POST_SECONDAIRE = u'4'
    NIVEAU_ETUDE_SUPERIEUR_CYCLE_COURT = u'5'
    NIVEAU_ETUDE_SUPERIEUR_LICENCE = u'6'
    NIVEAU_ETUDE_MASTER = u'7'
    NIVEAU_ETUDE_DOCTORAT = u'8'
    NIVEAU_ETUDE_AUTRE = u'9'
    TAB_NIVEAU_ETUDE = {
        NIVEAU_ETUDE_PETITE_ENFANCE: _(
            u'Early childhood education ("less than primary" '
            u'for educational attainment)'),
        NIVEAU_ETUDE_PRIMAIRE: _(
            u'Primary education'),
        NIVEAU_ETUDE_SECONDAIRE_1ER_CYCLE: _(
            u'Lower secondary education'),
        NIVEAU_ETUDE_SECONDAIRE_2ND_CYCLE: _(
            u'Upper secondary education'),
        NIVEAU_ETUDE_POST_SECONDAIRE: _(
            u'Post-secondary non-tertiary education'),
        NIVEAU_ETUDE_SUPERIEUR_CYCLE_COURT: _(
            u'Short-cycle tertiary education'),
        NIVEAU_ETUDE_SUPERIEUR_LICENCE: _(
            u'Bachelor’s or equivalent level'),
        NIVEAU_ETUDE_MASTER: _(
            u'Master’s or equivalent level'),
        NIVEAU_ETUDE_DOCTORAT: _(
            u'Doctoral or equivalent level'),
        NIVEAU_ETUDE_AUTRE: _(
            u'Other'), }

3 个答案:

答案 0 :(得分:1)

将这些行添加到EditText

 android:singleLine="true"
 android:textAllCaps="false"
 android:imeOptions="actionNext"

&安培;对于带有完成操作的最后一个EditText

    android:singleLine="true"
    android:textAllCaps="false"
    android:imeOptions="actionDone"

答案 1 :(得分:0)

为什么不以编程方式进行,根据android文档键盘会在重点编辑文本时弹出,因此当您获得第一个编辑文本的输入时。 <Application.Resources>

答案 2 :(得分:0)

通常,输入字段将根据布局巧妙地分配焦点。

但是,您可以在TextView上设置OnEditorActionListener并处理IME_ACTION_NEXT操作ID,您可以将焦点移至所需的输入字段。