2016-05-02 11 views
0

2つのシーンのアプリがあります。アプリケーションは、最初のシーン(フルスクリーンモードに設定)から開始し、画面上のポイントをタップすると、2番目のシーン(フルスクリーンにも設定されています)に切り替わります。JavaFXPorts - 無効なタッチポイントIDエラーでシーンが変化する

Windowsで実行するとうまくいきます。 Androidで実行すると、2番目のシーンに切り替えた後にエラーが発生します。 2番目のシーンを簡単に画面上にポップアップし、その後、logcatに次の例外を除いてクラッシュ:これを解決する上の任意の提案は素晴らしいことだ

java.lang.RuntimeException: Platform reported wrong touch point ID 
                  at javafx.scene.Scene$TouchMap.get(Scene.java:5455) 
                  at javafx.scene.Scene$ScenePeerListener.touchEventNext(Scene.java:2716) 
                  at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$null$361(GlassViewEventHandler.java:1148) 
                  at com.sun.javafx.tk.quantum.GlassViewEventHandler.access$lambda$20(GlassViewEventHandler.java) 
                  at com.sun.javafx.tk.quantum.GlassViewEventHandler$$Lambda$23.run(Unknown Source) 
                  at java.security.AccessController.doPrivileged(AccessController.java:52) 
                  at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleNextTouchEvent$362(GlassViewEventHandler.java:1127) 
                  at com.sun.javafx.tk.quantum.GlassViewEventHandler.access$lambda$17(GlassViewEventHandler.java) 
                  at com.sun.javafx.tk.quantum.GlassViewEventHandler$$Lambda$20.get(Unknown Source) 
                  at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:391) 
                  at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleNextTouchEvent(GlassViewEventHandler.java:1126) 
                  at com.sun.glass.ui.View.handleNextTouchEvent(View.java:579) 
                  at com.sun.glass.ui.View.notifyNextTouchEvent(View.java:1050) 
                  at com.sun.glass.ui.TouchInputSupport.notifyNextTouchEvent(TouchInputSupport.java:141) 
                  at com.sun.glass.ui.monocle.TouchInput.dispatchPoint(TouchInput.java:131) 
                  at com.sun.glass.ui.monocle.TouchInput.lambda$postPoint$82(TouchInput.java:155) 
                  at com.sun.glass.ui.monocle.TouchInput.access$lambda$3(TouchInput.java) 
                  at com.sun.glass.ui.monocle.TouchInput$$Lambda$4.run(Unknown Source) 
                  at com.sun.glass.ui.monocle.RunnableProcessor.runLoop(RunnableProcessor.java:92) 
                  at com.sun.glass.ui.monocle.RunnableProcessor.run(RunnableProcessor.java:51) 
                  at java.lang.Thread.run(Thread.java:818) 

は、ここで要求されるようにbuild.gradleファイルです:

apply plugin: 'java' 
apply plugin: 'eclipse' 
apply plugin: 'org.javafxports.jfxmobile' 

dependencies { 
    compile project(':Util') 
    compile files('D:/DevTools/minimal-json/minimal-json7.jar')  
    compile files('D:/DevTools/sqlite-jdbc/sqlite-jdbc-3.8.11.2.jar')  

    androidRuntime 'org.sqldroid:sqldroid:1.0.3'     
} 

buildscript { 
repositories { 
    jcenter() 
} 
dependencies { 
    classpath 'org.javafxports:jfxmobile-plugin:1.0.8' 
} 
} 

apply plugin: 'org.javafxports.jfxmobile' 

repositories { 
jcenter() 
} 

mainClassName = 'com.myapp.Client' 

jfxmobile { 

javafxportsVersion = '8.60.7' 

android { 
    manifest = 'src/android/AndroidManifest.xml' 
} 
ios { 
    forceLinkClasses = [ 'com.myapp.**.*', 'SQLite.**.*'] 
    infoPList = file('src/ios/Default-Info.plist') 
} 
} 

ありがとう!

+0

'build.gradle'スクリプトを投稿できますか? –

+0

こんにちはJose、私は元の投稿にbuild.gradleを含めました。 – Driv

答えて

0

私はあなたのクラッシュを再現でき、私はバグを報告します。

いくつかのシーンやステージを持つことはデスクトップ上では一般的ですが、モバイルではそうではありません。

代わりに1つのステージがあり、私たちは常にそのシーンを変更せず、内容を変更します。

Gluon Mobileを使用すると、View個のノードがあります。これにより、異なるコンテンツを持つ必要があるだけ多くのビューを使用し、必要なときに切り替えることができます。

SQLiteを含むGluonSQLiteサンプルを見ることができますが、それは1つのビューしか持たないか、ノーツまたはコメントのような他のマルチビューサンプルhereです。

+0

ええ、私は今、1つのシーンを使用するように私のアプリを変更して、UIの変更をしたいときにシーンのルートノードを切り替えるだけです。現在のところ、フルスクリーンでシーンを切り替えると、フルスクリーンから(デスクトップモードでは)キックされるJavaのバグもあります。そのため、バグが修正されるまでシーン切り替えメカニズムはすぐには見えません。助けてくれてありがとう。 – Driv

関連する問題