小编Car*_*ann的帖子

NoSuchMethodError - 没有静态方法比较(java/util/Comparator)

我正在 Android 设备上使用 Gluon 对Listfrom进行排序。java.util即使分配了 8GB,该应用程序也无法针对 iOS 进行编译(内存不足),但这是另一个问题。

classpath 'org.javafxports:jfxmobile-plugin:1.3.4'

compile 'com.gluonhq:charm:4.3.2'

jfxmobile version = '3.2.4'

导致崩溃的这一行:

highscoreList.sort(comparing(Highscore::getScore).reversed()); //#89

03-22 09:42:14.709 27312 27337 E AndroidRuntime: FATAL EXCEPTION: JavaFX Application Thread
03-22 09:42:14.709 27312 27337 E AndroidRuntime: Process: com.x.pacman, PID: 27312
03-22 09:42:14.709 27312 27337 E AndroidRuntime: java.lang.NoSuchMethodError: No static method comparing(Ljava/util/function/Function;)Ljava/util/Comparator; in class Ljava/util/Comparator; or its super classes (declaration of 'java.util.Comparator' appears in /system/framework/core-libart.jar)
03-22 09:42:14.709 27312 27337 E AndroidRuntime:        at com.x.pacman.HighscoreUtil.readHighscoreList(HighscoreUtil.java:89)
Run Code Online (Sandbox Code Playgroud)

我开始搜索,发现这篇关于 NoSuchMethodError 的文章 …

java android gluon-mobile

3
推荐指数
1
解决办法
1582
查看次数

什么时候应该将数据传递给模板并调用函数?

通过Funcs将函数传递给模板时,可以直接在模板中调用这些函数.数据也可以通过Execute传递.

到目前为止,我已经将一般数据传递给模板,并且仅在调用函数时才调用函数,例如我必须格式化Time或某些String.见下文.

结合两者:

{{range .AssignedTickets}}
  <p>FormatDate .Date</p>
  <p>{{FormatEditorName .EditorID}}</p>
{{end}}
Run Code Online (Sandbox Code Playgroud)

主要使用函数,假设仅EditorID作为数据传递:

{{$assignedTickets := GetAssignedTickets .EditorID}}
{{range $assignedTickets}}
  <p>FormatDate .Date</p>
  <p>{{FormatEditorName .EditorID}}</p>
{{end}}
Run Code Online (Sandbox Code Playgroud)

我何时应该传递数据?何时应该调用函数?是否存在性能原因,以避免其中一个(我猜我应该避免在模板中调用函数?)

go

2
推荐指数
1
解决办法
41
查看次数

构建Android时不支持InvokeDynamic

我正在运行Gluon/charm 3.0.0版.我在我的JavaFX项目中添加了一个Java8编译的库(通过IntelliJ插件创建),在iOS上它按预期工作和构建,但在执行gradle任务时android或者androidInstall我得到了这个错误:

[ant:java] Java Result: 1
:createMainDexList FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':createMainDexList'.
> Exception in thread "main" com.android.dx.cf.iface.ParseException: InvokeDynamic not supported
    at com.android.dx.cf.cst.ConstantPoolParser.determineOffsets(ConstantPoolParser.java:226)
    at com.android.dx.cf.cst.ConstantPoolParser.parse(ConstantPoolParser.java:132)
    at com.android.dx.cf.cst.ConstantPoolParser.parseIfNecessary(ConstantPoolParser.java:124)
    at com.android.dx.cf.cst.ConstantPoolParser.getPool(ConstantPoolParser.java:115)
    at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:491)
    at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
    at com.android.dx.cf.direct.DirectClassFile.parseToEndIfNecessary(DirectClassFile.java:397)
    at com.android.dx.cf.direct.DirectClassFile.getAttributes(DirectClassFile.java:311)
    at com.android.multidex.MainDexListBuilder.hasRuntimeVisibleAnnotation(MainDexListBuilder.java:191)
    at com.android.multidex.MainDexListBuilder.keepAnnotated(MainDexListBuilder.java:167)
    at com.android.multidex.MainDexListBuilder.<init>(MainDexListBuilder.java:121)
    at com.android.multidex.MainDexListBuilder.main(MainDexListBuilder.java:91)
    at com.android.multidex.ClassReferenceListBuilder.main(ClassReferenceListBuilder.java:58)
...while preparsing cst 0002 at offset 0000000f
...while parsing de/<removed>/traffic_light/library/Test.class
Run Code Online (Sandbox Code Playgroud)

我觉得有点奇怪的是,我甚至没有针对traffic_light的Test类,甚至在库中也没有.搜索错误我发现它可能需要Java 8来调用动态/支持Lambdas,但是例如Gluon的Presenter本身使用Lambdas.

此外,谷歌搜索我发现这个问题同样的问题,但遗憾的是胶子删除了他们的论坛,页面没有缓存在任何地方.

gluon gluon-mobile

1
推荐指数
1
解决办法
1707
查看次数

标签 统计

gluon-mobile ×2

android ×1

gluon ×1

go ×1

java ×1