2011-07-15 90 views
0

由于我的类无法继承Activity类,我使用context.startActivity()来启动一个新的活动。在这种类型的发射中,如何杀死发射的活动。我如何在这种情况下使用finish()?在android中杀死一个活动

+0

你需要从其他地方杀死你的活动(而不是你想杀死的活动)。这是对的 –

+0

在我没有继承Activity的类中,我创建了一个活动。现在我想杀了它。可能接下来的声明是杀死它。问题是,由于类不继承活动,我不能使用finish()。有什么不同的做法..? – Kishan

+0

如果我的回答对你有帮助,那么请接受它,因为它也会增加你在StackOverflow上的声望,并且将来有更多人会回答你的问题。 – Varundroid

回答

0

在这种类型的发射中,如何杀死发射的活动。

你不知道。

如何在这种情况下使用finish()?

你不知道。一项活动一般不会完成另一项活动。

可能的下一个声明是杀死它。

由于新活动在“非常下一个语句”时不会显示,所以您不应该首先启动它。

+0

好的,在满足一些条件后,我该如何杀死活动? – Kishan

+0

@Kishan:当“某些条件得到满足”时,您启动的新活动可以通过'finish()'杀死*本身*。当新活动处于前台时,您的原始活动应该完全没有任何作用。 – CommonsWare

+0

@ commonsWare-但就像v杀死一个活动(当类继承Activity时)使用finish()函数,v应该也能够或者应该是某种杀死它的方式而没有Activity类继承的权利......? – Kishan

2

如果您开始一项新活动以获得某些结果,那么您应该使用startActivityForResult()而不是startActivity()

如果您想在执行一些必要的任务后停止活动,请在执行所有必要的操作后,在onCreate()的末尾呼叫finish()

如果您有其他想法,请告诉我。我会尽最大努力帮助你。

+0

谢谢。我可以在最后使用finish()方法,但是我的类没有继承调用finish()所需的Activity类。这就是问题。 – Kishan

+1

在这种情况下,您不需要结束它,因为它不会被视为达尔维克的活动。就像普通的java类一样对待你的类。实例化它,使用它,如果你想要的话,那么你可以在最后销毁实例,否则垃圾收集会照顾它。 – Varundroid

0

您必须从LAUNCHER活动的onCreate方法传递contex对象。

您可以使用下面的代码。

`公共ABC类{

  Contex co; 
     ABc(Contex con){ 
       co=con; 
      } 
     con.startActivity(intent); 

}`

onCreate和方法创建这个ABc类的对象。

+0

雅这是我所做的,但我怎么能杀死你在你的代码中创建的活动......? (在启动器活动) – Kishan

+0

你可以使用con.finish();在课堂里。 –

相关问题