java - 在 EditText 中输入数字后,下一个按钮键盘会自动将用户带到不同的 EditText

标签 java android xml android-studio genymotion

制作一个简单的卡路里转换器。

这是图片中的问题。

我使用的是 Genymotion 模拟器。

这是我遇到问题的屏幕部分: enter image description here

当我单击 EditText 数字字段时,数字键盘会出现 enter image description here

但是我必须单击下一个箭头,它将带我到下一个输入字段 enter image description here

在我终于可以离开数字键盘之前。

发生什么事了?在一个编辑文本中输入数字后,我希望它在那里结束,而不是跳转到下一个编辑文本。另外,这很奇怪,因为如果我在两个底部 EditText 中输入数字,它们会立即结束,而如果我在顶部 EditText 中输入数字,它们会将我带到底部 EditText 之一。

这是 XML 文件。

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:ems="10"
        android:id="@+id/editText2"
        android:layout_below="@+id/imageView2"
        android:layout_alignEnd="@+id/imageView2"
        android:layout_alignStart="@+id/imageView2" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:ems="10"
        android:id="@+id/editText3"
        android:layout_alignBottom="@+id/editText2"
        android:layout_alignEnd="@+id/imageView4"
        android:layout_alignStart="@+id/imageView4" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:ems="10"
        android:id="@+id/editText4"
        android:layout_marginBottom="32dp"
        android:layout_alignParentBottom="true"
        android:layout_alignStart="@+id/imageView5"
        android:layout_alignEnd="@+id/imageView5" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:ems="10"
        android:id="@+id/editText5"
        android:layout_alignTop="@+id/editText4"
        android:layout_alignStart="@+id/imageView3"
        android:layout_toStartOf="@+id/editText2" />

谢谢!!!

最佳答案

如果你想跳转下一个字段,你可以使用 nextFocusDown 属性在 editText 本身中提到 id。

试试这个......

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="number"
            android:ems="10"
            android:id="@+id/editText2"
            android:layout_below="@+id/imageView2"
            android:layout_alignEnd="@+id/imageView2"
            android:layout_alignStart="@+id/imageView2" 
            android:nextFocusDown="@+id/editText3"/>

当您想在特定 View 的 SoftKeyboard 上显示完成时,请使用 android:imeOptions="actionDone"属性。

关于java - 在 EditText 中输入数字后,下一个按钮键盘会自动将用户带到不同的 EditText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35196645/

相关文章:

java - 算术异常 : Divide by zero with table layout dynamically in Android

java - spring mvc 框架上的流式 api 问题

java - 如何处理 SQL 状态 [HY000];错误代码[1366];字符串值不正确?

java - 在 J2EE web 应用程序中创建线程的正确方法 - PMD DoNotUseThreads 违规

java - 计算项 x 项矩阵

java - 无法向 API Retrofit 提交帖子

java - 实现工具栏调用空对象引用

c++ - Android NDK 有 sleep() 函数吗?

android - 在 android studio 中使用模块导入

Android: strings.xml 的默认语言