android - 导航参数双重错误: Can't escape identifier `0.0` because it contains illegal characters

标签 android kotlin navigation

在导航图参数中为 Double 设置 defaultValue 时出错。

 <argument
            android:name="lat"
            app:argType="java.lang.Double"
            android:defaultValue="0.0"
            />
        <argument
            android:name="lon"
            app:argType="kotlin.Double"
            android:defaultValue="0.0"
            />

我用安全的 args 插件尝试了 java.lang.Doublekotlin.Double

如何传递具有默认值的 Double 参数?

最佳答案

您可以创建一个 Serializable 类并在其中存储 lat、long 并在 Navigation Arguments 中将该类的对象作为“自定义可序列化”类型传递。

这是一个示例,

Kotlin

data class LatLong(
    var lat: Double = 0.0,
    var long: Double = 0.0
) : Serializable

导航图:

<argument
        android:name="LatLong"
        app:argType="com.example.models.LatLong" />

关于android - 导航参数双重错误: Can't escape identifier `0.0` because it contains illegal characters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67816486/

相关文章:

android - 根据List改变constraintlayout

firebase - Flutter:即使在屏幕之间导航后也会保存页面的状态

html - 如何在页面顶部保留导航栏?

kotlin - 带有 JUnit5 的 Kotlin 1.4 中的非静态 @RegisterExtension 字段

android - 删除项目并添加新项目后出现错误 : Maximum number of items supported by BottomNavigationView is 5,

wpf - 将 Prism 区域管理与 WPF 导航服务集成的最佳方式是什么?

java - 在 ListView 中完整显示列表

android - Intent.getExtras.getInt() 与intent.getIntExtra() 相同吗?

android - 为 PhoneGap 应用程序嵌入 PDF 查看器

java - CoordinatorLayout 无法转换为 android.support.v7.widget.Toolbar