EditText中的inputType numberDecimal使用点.作为小数分隔符.在欧洲,用逗号,代替是很常见的.即使我的区域设置为德语,小数分隔符仍然是.

有没有办法把逗号作为小数点分隔符?

推荐答案

一个变通办法(在谷歌修复这个错误之前)是使用带有android:inputType="numberDecimal"android:digits="0123456789.,"EditText.

然后在EditText中添加一个TextChangedListener,其后文本更改如下:

public void afterTextChanged(Editable s) {
    double doubleValue = 0;
    if (s != null) {
        try {
            doubleValue = Double.parseDouble(s.toString().replace(',', '.'));
        } catch (NumberFormatException e) {
            //Error
        }
    }
    //Do something with doubleValue
}

Android相关问答推荐

房间打开创建回调java.nio.channels. OverlappingFilLockResponse

编写Inbox需要具有匹配兼容性的Kotlin版本

泛型类型lambda函数参数作为函数参数

避免在按下肯定按钮时自动取消AlertDialog

为什么Ionic-checkbox不总是刷新Android上的视图?

在Jetpack Compose中的隐藏状态栏后面绘制

我想使用代码自动重命名我的Android存储中的文件夹

Jetpack Compose:带芯片的Textfield

在内部创建匿名对象的繁忙循环调用函数会产生开销吗?

判断文本视图是否为单行

Kotlin为多个控件设置一个侦听器

为什么可以';我不能直接在RecyclerView.ViewHolder中访问视图ID吗?

制作圆形SupportMapFragment

为什么 Android Studio 中的 theme.xml 目录没有任何原色

Gradle在我的Android Compose项目中继续推广依赖版本

通过 setIntentScanningStrategyEnabled(true) 未检测到信标的 Android Beacon 库后台扫描

通过 adb 解压并重新安装后 Android 应用程序崩溃

如何正确地将图像上传到 Jetpack Compose 中的 LazyList 中的项目?

从活动共享视图模型以使用 hilt 组合函数

Google API:java.lang.ClassNotFoundException:找不到类sun.misc.Service