如何使用Android Navigation将长整型值传递给目标片段?

3
我想为 Android Navigation 实现 safe-args 插件
这对于整数和字符串有效,但是我不能获得生成的 long 类型代码。
这是否可能?
我已经尝试过:
<fragment
    android:id="@+id/myFragment"
    android:name="com.x.app.y.MyFragment"
    android:label="fragment_mine"
    tools:layout="@layout/fragment_mine">
    <argument
        android:name="row_id"
        app:type="long"/>
</fragment>

但是这会生成一个字符串的代码。
以下是我的选项:

enter image description here

这里是行为表现:
  • inferred => 字符串
  • string => 字符串
  • integer => 整数
  • reference => 整数
1个回答

4
UI 中的类型列表是 Navigation Safe Args 当前支持的完整值列表,因此在当前的 1.0.0-alpha01 版本中不支持 long 类型。
已经有一个 现有功能请求 来添加额外支持的类型,其中 long 是被请求的类型之一。

非常感谢Ian,我已经收藏了这个功能请求。我们能否获取插件(以及其他所有内容)的源代码,以便我们自己挖掘支持的类型是什么? - Benoit Duffez
我可以确认 long 类型现在可用(测试了 alpha08,应该自 alpha03 起就可用),但是您的 Android Studio 编辑器可能尚未支持它。因此,您可以在导航图 XML 中以“文本”视图模式进行更改,安全参数插件将生成适当的类。 - Almighty

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接