2013-03-16 15 views
0

我的第一课“公共类MyActivity扩展活动” 立即运行另一个阶级“公共类MyActivity2扩展AndroidApplication”,它运行Libgdx“类MyGame”如何退出由少数类组成的应用程序?

我退出MyGame类与“Gdx.app.exit()”,它返回到第一类。 但它又开始第二课...循环。 那么如何退出应用程序呢? 谢谢!

+2

那么为什么你需要MainActivity?为什么不从MyActivity2开始? – 2013-03-16 00:29:55

+0

在开始Activity2之前,您可以完成Activity1。 – 2013-03-16 00:38:32

回答

0

您可以在其他活动中添加退出按钮/ menuitem,并且当按下该按钮时,启动MainActivity并传​​入额外的意图。

是这样的:
在其他acitivities:

private void exit() { 
     Intent intentHome = new Intent(this, Main.class); 
     intentHome.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     intentHome.putExtra("EXIT", true); 
     startActivity(intentHome); finish(); 
} 

在主/第一个活动:

if (getIntent().getBooleanExtra("EXIT", false)) { 
     finish(); 
} 

你也可以开始在下单时结束()每一项活动,以确保没有其他活动在后台。

+0

谢谢。但至于你的第二想法。我怎样才能完成第一项活动?如果我在开始第二个活动之前添加“finish()”,则第一个将在启动时完成。我在第一个活动中没有菜单。它只是从第二个开始,因为我无法在“AndroidApplication”中使用Display属性。所以我在第一项活动中使用了这种技巧,即“活动”。我有简单的想法。我可以使用布尔变量,这是退出目的。所以在返回到第一个活动后,它会检查这个值并完成。 – nms 2013-03-16 03:21:02

+0

奇怪。我的想法不是。返回到第一个活动后的黑屏。我在第一个活动中添加了以下内容:super.onCreate(savedInstanceState); if(Data.exit)finish();在返回到第一个活动之前,我在其他类中执行“Data.exit = true”。 – nms 2013-03-16 03:35:03

+0

我在第一个活动中试过这段代码:startActivity(myIntent); finish();但是当我尝试退出我的第三类(libgdx类)时,出现黑屏并挂起。 – nms 2013-03-16 03:44:43