在我的應用程序中,我有幾個活動,主屏幕有4個按鈕,每個按鈕開始一個不同的活動。所以其中之一就是搜索活動,一旦搜索它就會顯示結果活動。這一結果的活動可以從其他活動來達到,所以一般是這樣的:現在關於活動的生命週期
Main activity -> Search activity -> Result activity
Main acitivty -> someother activity -> Result activity
,如果我已經達到這個結果的活動,並按回一次或兩次,並且後按Home鍵,它會顯示主屏幕。但是,如果我想通過按住主頁按鈕並單擊我的應用程序返回到我的應用程序,它將始終返回到結果活動,無論哪個活動是我使用的最後一個活動。如果我再次按下,它會將我帶回主屏幕。
如果我再試一次,它會再次帶我到結果活動。避免這種情況的唯一方法是通過點擊應用程序的圖標啓動應用程序。這將我帶到了我正在使用的最後一個活動,它記住了狀態,所以如果我再次按下它,它不會將我帶到主屏幕,而是將它帶到它之前的活動。爲了說明這一點:
Main activity -> Search activity -> result activity --back--> Search activity --Home Button--> Home Screen --Hold Home and select the app --> Result activity --back--> Home Screen
--Click application icon--> Search activity --back--> Main activity
這種情況發生的另一件事是,如果我按在結果的活動,而主頁按鈕,通過點擊圖標啓動應用程序,它會帶我去活動之前的結果提供一個。
這是怎麼發生的?任何解決方法?
你是如何啓動你的活動?您在意圖中使用的任何特定標誌? – 2010-04-05 17:44:16
是的,我添加了一個標誌來啓動結果活動,並且我也傳遞了一些數據。像這樣:Intent intent = new Intent(this,Result.class); intent.putExtra(「RESULT」,aString); intent.addFlags(R.id.flag_search); startActivity(意向); – 2010-04-05 17:48:29
看着它,intent.addFlags(R.id.flag_search)造成這種情況,通過註釋掉該行或使用任何int而不是R.id.flag_search來解決該問題。嗯,現在爲什麼我不能在那裏存儲我的旗幟?我應該使用Static類來存儲不同的標誌嗎? – 2010-04-05 18:15:26