2011-07-15 47 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();在課堂裏。 –