2013-06-01 17 views
2

我正在寻找一种获取yes/no对话框以显示android的方法。本地用户界面确认对话框LibGDX

我要找的东西,功能类似于此:

Gdx.input.getTextInput(new TextInputListener() { 
      @Override 
      public void input (String text) { 
      } 

      @Override 
      public void canceled() { 

      } 
     }, "Question", ""); 

除,而不是让文字输入,我想将它提示是或否的用户。

我查看了this,但是我还没有能够得到它的工作,因为它可能非常过时。如果有人能够想出解决方案,那会很棒。非常感谢!

+0

GDX-Users的例子究竟出了什么问题?起初看起来完全没问题。无论如何,你应该使用这样的方法来实现android原生对话 - 没有别的办法。发布一些代码来了解错误。 – Viacheslav

+0

Under: gameView = initialize(new ConfirmTest(this),false); Eclipse说:类型不匹配:无法从void转换为查看 –

+0

是的,它确实被弃用。等待一分钟 - 我会发布纠正 – Viacheslav

回答

3

试着改变你的活动看起来像这样。其他的东西(例如RequestHandler)应该是正确的。

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    initialize(new ConfirmTest(this), false); 
} 

@Override 
public void confirm(final ConfirmInterface confirmInterface) { 
    runOnUiThread(new Runnable(){ 
    @Override 
    public void run() { 
    new AlertDialog.Builder(ConfirmTestAndroidActivity.this)          
      .setTitle("Confirm") 
      .setMessage("Are you sure?")            
      .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        confirmInterface.yes(); 
        dialog.cancel(); 
       } 
      }) 
      .setNegativeButton("No", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        dialog.cancel(); 
       } 
      }) 
      .create().show();   
    }   
}); 
} 

要使用定制配置,您可以使用此:

Game myGame = new Game(); // your game class which implements ApplicationListener 

AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration(); 
cfg.useGL20 = true; 
cfg.useCompass = false; 
cfg.useAccelerometer = false; 
cfg.useWakelock = true; 
cfg.touchSleepTime = 16; 

initialize(myGame, cfg); 

请记住,使用激活锁定功能需要的权限在AndroidManifest.xml中声明或则抛出SecurityException。

<uses-permission android:name="android.permission.WAKE_LOCK" /> 
+0

现在Eclipe的一切都很好。它显示没有错误。现在唯一的问题是,当我在我的android手机上运行应用时,它说:“不幸的是,游戏已经停止运行。” –

+0

发布您的LogCat输出 – Viacheslav

+0

发布这里太长了,所以它在pastebin上:http://pastebin.com/qvBkTqP1 –

0

您可以使用gdx-dialogs库。说明在这里使用它:https://github.com/TomGrill/gdx-dialogs

你可以建立这类本地对话框:

  • GDXProgressDialog:要载入对话框
  • GDXTextPrompt:对于文本输入
  • GDXButtonDialog:对于多选项弹出高达

它适用于iOS,Android和桌面