2017-10-09 5 views
0

im essayant de créer des toasts en appeler avec interface l'interface fonctionne très bien juste que quand j'essaie de faire un toast avec elle, il se briseje ne peux pas ajouter des tartines libgdx

dans Launcher Android

public class AndroidLauncher extends AndroidApplication implements Interface {  
public void tost() { 
     Toast.makeText(getContext(), "wrong num", 
       Toast.LENGTH_LONG).show();}} 

dans gameclass

interface Interface{void tost();} 
    public class MyGdxGame extends ApplicationAdapter { 
     final private Interface interface; 
     public MyGdxGame(Interface interface){this.interface=interface;} 
    public void render() {interface.tost} 

Répondre

0

Android tartines doivent être effectuées sur le thread interface utilisateur Android. La boucle de jeu dans LibGDX s'exécute sur le thread OpenGL, vous devez donc publier votre méthode sur le thread UI pour l'exécuter en toute sécurité, comme ceci:

public class AndroidLauncher extends AndroidApplication implements Interface {  

    public void tost() { 
     runOnUiThread(new Runnable() { 
      @Override 
      public void run() { 
       Toast.makeText(getContext(), "wrong num", 
        Toast.LENGTH_LONG).show();} 
      } 
     }); 
    } 

}