我一直在尋找答案,但找不到合適的答案。問題是我在正常活動的頂部有一個對話主題活動。我想迫使用戶閱讀並單擊「確定」給主題活動,然後將主題活動轉移到另一個對話主題活動中,以進行其他問題或無法進入應用程序。所以,我想退出應用程序,在後面按下,而不是完成主題活動,將揭示我的應用程序的內容。這怎麼可能?以編程方式退出應用程序
回答
finish()
會爲你做了完美的工作;)
,但進行對話不可取消..
編輯(後問題說明澄清): 正如有人說StartActivityForResult可以工作,額外招。 的因爲你設計的App(DialogActivity1-> DialogActivity2)的方式,它可能有助於增加以下行AndroidManifest文件,爲您的所有特殊對話框的外觀活動:
android:noHistory="true"
或爲意圖Intent.FLAG_ACTIVITY_NO_HISTORY
設置的標誌在你啓動DialogActivityN之前。
兩條線(從清單或代碼)將使這個actitivies不要停留在Android棧,所以當你的MainActivity得到結果返回,這將是從去年DialogActivity,比根據結果收到您可以finish()
或繼續造成執行MainActivity ..
當你開始這樣的活動時,不需要調用finish()來銷燬它們,你只需開始新的活動,它們將從堆棧中消失。當然,就你的情況而言,最後一次DialogActivity你將從StartActivityForResult()開始,正如我在前面段落中所解釋的,MainActivity會根據收到的結果做一些事情。
然而使得用戶多次經歷這些對話在一開始應用,是不是我會考慮好的做法,它可以讓你的用戶乾脆放棄,去一些不太討厭的應用程序。 (不要犯了這個錯誤,它只是我的意見,重新考慮有關的概念)
希望你會解決它;如果你用startActivityForResult()
開始你的對話活動)乾杯
'finish()'將完成對話主題活動,揭示我的應用程序的內容。 – JustCurious 2012-02-28 12:55:40
是否有任何真正的原因,你讓它活動(看起來像對話框),而不是真正的對話?! – Ewoks 2012-02-28 13:00:27
可以從傳回的結果RESULT_CANCELED
對話框,並且一旦收到(在您的主要活動中),請致電finish()
。
好主意!我會嘗試 – JustCurious 2012-02-28 13:04:22
以及...我的對話實際上是一個兩頁。所以有2個活動。我可以爲第一個做,但下一個活動呢? – JustCurious 2012-02-28 13:13:33
在這種情況下,我可能會使用Fragments實現所需的效果,但如果這不是一個選項,您必須找到一種方法將值返回給第一個活動,告訴它是否點擊了「確定」。可能使用'SharedPreference',因爲這也可以讓你的應用程序記住用戶上次選擇的內容? – Jave 2012-02-28 13:21:58
如果你知道ActivityforResult那麼方法可以讓你變得更加容易,首先你需要開始與方法startActivityforResult對話活動...然後在對話框活動親近的背按鈕,您可以通過設置結果將其關閉。在開始活動的OnactivityResult方法中,如果setResult不是相同的,則必須檢測相同並關閉相同。希望你明白了。
- 1. 如何以編程方式退出iPhone應用程序?
- 2. 如何在Macintosh中以編程方式退出應用程序
- 3. 如何以編程方式退出或退出Windows Phone 8應用程序?
- 4. 以編程方式退出應用程序的適當方式是什麼?
- 5. 以編程方式退出MFC應用程序的正確方法是什麼?
- 6. 以編程方式退出全屏
- 7. 以編程方式啓動Silverlight退出瀏覽器應用程序
- 8. 在拒絕免責聲明後以編程方式退出iPhone應用程序
- 9. 從應用程序中以編程方式導出數據
- 10. jqgrid:以編程方式退出編輯模式
- 11. Tesseract DoOcr方法退出應用程序
- 12. 退出Android應用程序
- 13. OnBackPressed()退出應用程序
- 14. 退出應用程序
- 15. SegFault退出應用程序
- 16. BackButton退出應用程序
- 17. 退出Android應用程序
- 18. 應用程序退出
- 19. Android:退出應用程序
- 20. 退出iPhone應用程序?
- 21. 退出iphone應用程序
- 22. 退出應用程序Android
- 23. 退出Android應用程序
- 24. 退出應用程序iOS
- 25. 以編程方式辭退iPhone鍵盤
- 26. 以編程方式點擊HTML href以更新應用程序
- 27. 如何以編程方式關閉反應js應用程序
- 28. 以編程方式殺死另一個進程/應用程序
- 29. 如何在WebView中以編程方式退出全屏模式?
- 30. 當我退出我的程序時,以編程方式關閉GPS
你能解釋爲什麼那個「對話框」不是真正的對話框,而是活動主題爲對話框。我相信這會讓我們更好地理解,所以我們可以一起爲您的案例找到最佳解決方案。乾杯 – Ewoks 2012-02-28 13:05:49
它是完全定製的,包含很多功能,據我所知,我不能在正常的對話框中 – JustCurious 2012-02-28 13:10:05
Oki ..只是想更好地瞭解你想用它實現什麼,因爲你說「我想強迫用戶閱讀並單擊「確定」的主題活動或無法進入「這聽起來像一個很好的理由使用自定義對話框..希望你會找到解決方案,將最適合你。歡呼 – Ewoks 2012-02-28 13:14:23