2012-04-01 68 views
0

我是新來的android開發人員,我開發了一個小應用程序,但我面臨連接不同活動(即以所需方式在活動之間導航)的問題。 我很抱歉問這些問題,但我嘗試了谷歌的不同解決方案,但他們都沒有爲我工作,我仍然不清楚這些概念。活動堆棧中的問題android

plz幫助

我有一些問題:

  1. 如何在棧頂刪除活動嗎?

  2. 如何刪除活動堆棧中的所有活動?

  3. 帶有(Intent.FLAG_ACTIVITY_NO_HISTORY)的意圖(A.this,B.class)不會將活動B添加到堆棧,但如果我想要將活動A添加到堆棧,該怎麼辦?

  4. 有沒有辦法讓我可以看到活動堆棧的內容(這將幫助我在調用活動時設置適當的標誌)?

  5. 我有一個活動A(有3個按鈕),我從中調用活動B,在那裏我用用戶輸入完成了一些操作,並且我想回到活動A但我想只顯示1個按鈕3我該怎麼做? (我遇到的問題是A中的活動有3個按鈕,所以我想通過刪除它並創建新的意圖來重新啓動它,或者使堆棧中的相同條目再次啓動,以便根據條件顯示1個按鈕)

在此先感謝。

+0

希望你已經解決了你的問題 – Ishu 2012-04-02 02:59:16

回答

0

回答最後一個問題: 使用startActivityForResult在Activity A中啓動Activity B並覆蓋onActivityForResult。當Activity B完成/退出時,將調用onActivityResult。 您可以在onActivityResult中將Buttons的可見性設置爲GONE/INVISIBLE。

5

如何刪除堆棧頂部的活動?

我不知道你認爲「刪除」是指在活動方面。我不知道你的意思是「活動的頂端」。

假設你的意思是「如何銷燬前景活動」,活動本身可以調用finish()

如何刪除活動堆棧中的所有活動?

你不知道。您可以撥打startActivity()Intent.FLAG_ACTIVITY_CLEAR_TOPIntent.FLAG_ACTIVITY_SINGLE_TOP銷燬堆棧中的所有當前活動,讓您留下您正在啓動的活動。

意向(A.this,B.class)與(Intent.FLAG_ACTIVITY_NO_HISTORY)不會增加活動B疊,但如果我想補充活性的堆棧?

呼叫startActivity()爲A.

是否存在被我可以想像活動棧的內容(這將有助於我同時呼籲活動,並設置適當的標誌)的方法嗎?

您可以篩選adb shell dumpsys以獲取此類信息,但它不是特別友好。

你最後的問題對我來說是難以理解的,對不起。

+0

感謝你的回答,他們真的對我有幫助! – 2012-04-02 13:47:28