gpt4 book ai didi

Xamarin.Forms Android 绑定(bind)库错误

转载 作者:行者123 更新时间:2023-12-02 14:14:36 27 4
gpt4 key购买 nike

我目前面临有关 Xamarin Forms Android Bindings 库的问题。我已将 .jar 库放入我的绑定(bind)项目中,但我意识到该库未完全加载。

当我构建绑定(bind)项目时,它可以正确编译,但输出中仍然有一些警告。

1>BINDINGSGENERATOR : warning BG8102: Class Java.Util.LinkedHashMap has unknown base type Java.Util.HashMap.

1>BINDINGSGENERATOR : warning BG8103: Class Com.MyParams has invalid base type java.util.LinkedHashMap.

1>BINDINGSGENERATOR : warning BG8701: Invalid return type com.MyParams in method GetParams in managed type Com.TagOp.

1>BINDINGSGENERATOR : warning BG8801: Invalid parameter type com.MyParams in method TagOps in managed type Com.TagOp.

1>BINDINGSGENERATOR : warning BG8801: Invalid parameter type com.MyParams in method TagOps in managed type Com.TagOp.

1>BINDINGSGENERATOR : warning BG8801: Invalid parameter type com.MyParams in method TagPage in managed type Com.Tag.

在我的 Android 代码中,我无法使用 Com.MyParams 类,因为它尚未加载。

自 Xamarin for Visual Studio 2017 更新以来出现此问题。

您有解决这个问题的线索吗?提前致谢。

最佳答案

HashMap & LinkedHashMap未知……因此无法实例化任何基于它们的内容。

当数据绑定(bind)不知道某个类时,它要么缺少注释,要么无法扩展类 BaseObservable 和/或有错误的 get/set 方法名称(需要与字段名称匹配);有很多条件需要满足,具体取决于是否需要单向或双向数据绑定(bind)。检查生成的代码通常会给出需要更改哪些内容的线索。

但是,直接数据绑定(bind) JAR 类似乎根本不可能,除非向其中添加所需的注释,然后构建 JAR,以使它们可绑定(bind)。 Android 的文档 Data Binding Library和 Xamarin Java Bindings Metadata对此进行了解释(从头开始复制所需的 Java 类,完全可绑定(bind),即使不是唯一的方法,也可能是最快的方法)。

只能通过替换要绑定(bind)到 GUI 的类来解决这个问题 - 这可以使用相当简单的类,或者使用 Java decompiler 时实现。 (以便了解要使用的字段)。

关于Xamarin.Forms Android 绑定(bind)库错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44925071/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com