【问题标题】:EditText next Button keyboardEditText 下一个按钮键盘
【发布时间】:2013-04-05 18:34:10
【问题描述】:

我有一个布局,用户需要在一些 editText 中写入他的详细信息,该布局放置在垂直线性布局中。

然而,每次用户需要打开键盘时,在editText上写一些东西,然后点击android中的后退按钮,然后再次点击下一个editText并一遍又一遍地写下他的详细信息。

我想实现它而不是打开和关闭键盘,而不是键盘上的输入按钮,我将有一个下一个按钮,在用户在特定的 EditText 上输入他的详细信息后,它将跳到下一个 EditText 而不关闭并且每次都打开键盘。

我看到有一些应用程序具有此功能,但是我没有找到如何实现它

非常感谢

这是我的布局示例:

<LinearLayout
        android:layout_width="283dp"
        android:layout_height="match_parent"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:orientation="vertical" >



        <TextView
            android:id="@+id/aaa"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="aaaa" >

            <requestFocus />
        </TextView>

        <EditText
            android:id="@+id/bbb"
            android:layout_width="match_parent"
            android:layout_height="36dp"
            android:background="@drawable/text_back"
            android:ems="10"
            android:inputType="bbb" />

        <TextView
            android:id="@+id/cccc"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="ccc" />

        <EditText
            android:id="@+id/emailTextGroup"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:background="@drawable/text_back"
            android:ems="10"
            android:inputType="textMultiLine" />

        <TextView
            android:id="@+id/dd"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="ddd" />

        <EditText
            android:id="@+id/fff"
            android:layout_width="match_parent"
            android:layout_height="38dp"
            android:background="@drawable/text_back"
            android:ems="10"
            android:inputType="fff" />

        <TextView
            android:id="@+id/yyy"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="yyy" />

        <EditText
            android:id="@+id/eeee"
            android:layout_width="match_parent"
            android:layout_height="32dp"
            android:background="@drawable/text_back"
            android:ems="10"
            android:inputType="textMultiLine" />

         <TextView
            android:id="@+id/yyyy"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="iii" />

        <EditText
            android:id="@+id/ooo"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:background="@drawable/text_back"
            android:ems="10"
            android:inputType="textMultiLine" />

        <TextView
            android:id="@+id/ppp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="ppp" />

        <EditText
            android:id="@+id/sss"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:background="@drawable/text_back"
            android:ems="10"
            android:inputType="textMultiLine" />



    </LinearLayout>

【问题讨论】:

    标签: java android


    【解决方案1】:

    您应该在XML 文件中为您的EditTexts 添加一个属性:

    android:imeOptions="actionNext".

    下一个按钮会将用户带到下一个可以接收输入的字段。

    【讨论】:

    • 非常感谢,我需要将它添加到我布局中的所有 editText 中吗?
    • 是的,您需要将此行添加到每个 EditText。
    • 不支持android 2.3.6。如何让它发挥作用? @EmilAdz
    • 谢谢你!多年来我一直在尝试使用 nextFocusDown,但它不起作用
    【解决方案2】:

    有一个非常好的文档:

    nextFocusDown

    如果我理解正确的话,这个标签顺序正是你所需要的。

    【讨论】:

    • 我是否需要在每个 EditText 中添加以下字段:android:android:nextFocusDown ="+@id/next_editText_id ?非常感谢
    • 是的,你想激活下一个...对我来说很好。
    • 非常感谢,我也试试,下一个按钮在哪里?而不是键盘上的回车键?
    【解决方案3】:

    这就是我的 editText 的样子,它有下一个按钮并且确实是

    <EditText
            android:id="@+id/typefish"
            android:layout_width="370dp"
            android:layout_height="wrap_content"
    
            android:singleLine="true" />
    

    它后面的或者最后一个也有

    android:imeOptions="actionDone"
    

    【讨论】:

    • 嗨,谢谢你的回答,我需要在每个editText中添加这一行:android:imeOptions="actionDone"吗?非常感谢
    • 那么,它怎么知道从第一个editText跳到第二个editText?
    • 我猜测最后一个 editText 上的 android:imeOptions="actionDone" 使 editTexts 在它知道它之后还有其他人之前,直到最后一个在这种情况下编辑文本将完成
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    相关资源
    最近更新 更多