2010-10-13 192 views
0

我知道android应用程序应该遵循Activity生命周期,我相信我会完全实现它。不过,对于初学者来说,我只是试图在用户从选项菜单中选择退出时关闭应用程序,而不会崩溃。有人可以帮我吗?我有一个退出Android应用程序

public boolean onOptionsItemSelected(MenuItem item){ 
    switch(item.getItemId()){ 
    case R.id.quit: 
     quit(); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

眼下R.id被红色下划线,说虽然我导入us.gravebook.geomessage.R R.id不能得到解决,事件。未定义

回答

3

event though i import us.gravebook.geomessage.R

解决不这样做。这不是资源的工作原理。如果你导入R,你的代码将无法工作。如果us.gravebook.gemoessage与您的活动不同,它的工作机会甚至更少(小于0)。你可以只用R.id.whatever不导入R.

其次,
and I'm sure I'll get to fully implementing it

我不认为你明白生命周期是什么。你没有实现任何东西。你(基本上)必须遵循android生命周期,因为这就是框架的工作原理。是的,你可以通过killinlg流程等来绕过一些东西,但这是一个不同的故事。

不要只靠自己走,并期望能够得到任何地方。按照教程,遵循指南,使用框架。除非你确定你知道你在做什么,否则不要与之对抗。

+0

我知道我没有实现生命周期,但是我的理解是,为了使我的应用程序适合其他应用程序,它必须响应某些生命周期事件,例如OnCreate,OnStart,OnPause, OnStop,OnDestroy等,请参阅http://developer.android.com/guide/topics/fundamentals.html。 感谢您的建议,不要自行离开。我正在尝试从教程中编写关于如何创建上下文菜单,如何退出应用程序(他们携手并进,imo)的应用程序。下一步:获取当前位置数据,... – lowerkey 2010-10-14 18:55:57

1
this.finish(); 

应该工作。

+0

this.finish();崩溃我的应用程序。电话响应“应用程序地理消息4”(进程us.gravebook.geomessage4)意外停止。请再试一次。“ 我问这个问题的原因是为了避免这种事情。 – lowerkey 2010-10-15 03:10:39