用于textInputEdittext的输入换算



在我的应用程序中我有一个EditText

EditText用于货币输入,例如:2.239.99

换句话说,用户可以键入2,然后.,然后23到此EditText

为了实现EditText的这种行为,我像Mussa对此问题的回答一样实现了InputFilter。它像魅力一样工作。

,但后来我想通过这样的构造替换我的EditText

    <android.support.design.widget.TextInputLayout
        android:id="@+id/secondary_currency"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/main_currency"
        tools:hint="Болгарский перец">
        <android.support.design.widget.TextInputEditText
            android:id="@+id/secondary_currency_input"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="number"
            android:textSize="12sp"
            tools:text="348929.00" />
    </android.support.design.widget.TextInputLayout>

现在,我将InputFilter应用于TextInputEditText

当我没有设法在2之后键入.时,我感到惊讶。

为什么我不能在TextInputEditText的情况下输入DOT?如何实现它?

带有当前布局代码。我可以看到您已将inputType用作number,而您的理想必须是 DECIMAL

您可以将inputType作为numberDecimal

尝试

希望它有帮助。

我想您无法将其设置为TextInputEditText,因为它没有从Edittext类继承此方法。我没有管理t在TextInputEditText的文档中找到任何类似的方法但是您不必使用TextInputLayout专门使用THS类。您可以用您的过滤器将TextInputEditText替换为正常的递观,并且它将像以前一样工作。

您可以将InputFilter添加到textInputEdittext。

kotlin

secondary_currency_input.editableText.filters[0] = yourInputFilter

相关内容

  • 没有找到相关文章

最新更新