2010-09-13 100 views
0

我有兩個活動,說活動A和B.活動A是一個ListActivity,當列表中的項目被選中時,它會調用startActivity()來調出B.這裏的問題是,當我在B並單擊home鍵,然後轉到應用程序啓動器以恢復我的應用程序,A將再次啓動。這次當我點擊A中的一個不同的項目時,它會在主鍵被點擊之前帶上先前選擇的項目的舊數據。如何在調用startActivity時更新現有活動的意圖?

檢查代碼後,我發現startActivity沒有更新B的意圖。我在這裏找到了一篇關於類似問題的文章,答案是覆蓋onNewIntent。但是,我發現它不起作用,因爲當我第二次調用startActivity時,這個方法永遠不會被調用。我相信這是同一個實例,因爲我已經打印出實例編號。有沒有其他方法可以更新活動的意圖?或者我需要一些其他設置來使onNewIntent被調用?我沒有設置任何標誌或啓動模式,所以一切都是默認的。

+0

什麼時候從意圖更新UI數據? 'onCreate'或'onStart'? – st0le 2010-09-13 13:36:35

+0

請從onItemClick發佈您的代碼 – 2010-09-13 16:00:55

+0

我在onStart中更新我的用戶界面。我正在爲我的公司編寫代碼,因此無法在此處發佈詳細信息。但我可以給一些類似的代碼 – user412759 2010-09-14 05:13:45

回答

0
protected void onListItemClick(ListView listView, View view, int position, long id) { 
    Intent intent = new Intent(this, B.class); 
    intent.putExtra(B.EXTRA, something); 
    startActivity(intent); 
} 
+0

我明白爲什麼。我的意圖沒有指定任何數據,類型,操作或類別。 Android會認爲它與舊的意圖是一樣的,所以onNewIntent不會被調用。 – user412759 2010-09-14 10:01:39

相關問題