2011-07-19 72 views
0

我有一個Android選項卡式應用程序,並且在其中一個選項卡中有一個具有ListView最喜歡項目的活動。
用戶可以在進一步向下的活動中添加或移除項目。
問題是,當用戶回來時,我無法重新加載列表。 onResume沒有被調用,所以我不知道什麼時候應該重新加載列表。

編輯

這就是我如何開始後續活動。如何刷新選項卡式Android應用程序上的ListView?

Intent i = new Intent(this, CargasCadastro.class); 
// Create the view using Group's LocalActivityManager 
Window win = CargasGroup.group.getLocalActivityManager().startActivity("CargasCadastro",i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)); 
View guialayout = win.getDecorView(); 
// Again, replace the view 
CargasGroup.group.replaceView(guialayout); 

onTabChanged不會工作,因爲它包含列表中的活動是不是TabActivity,我的問題是,從後續的活動,並不是一種平行的一個回來。感謝您的建議。

+0

檢查是否調用onCreate?您是否嘗試開始另一項活動(我假設您正在開始新活動)以獲得結果?然後在onActivityResult中,您可以重新填充listview ... –

+0

快速猜測,在onResume()期間,您的主要活動始終在列表中調用刷新。我猜你已經與你的標籤溝通了。最糟糕的情況是,只需重新加載標籤中的活動。 – blindstuff

回答

0

我得到它的工作方式。
在自己內部創建一個活動的靜態公共實例(幾乎像一個單例)。

public static MyActivity instance; 
... 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    instance = this; 
... 

和一個重載數據並刷新列表視圖的公共方法。然後,down-the-flux活動訪問此實例並調用該方法。
它很髒,但工程。

只要獲得投票(希望獲得更清晰的解決方案),我會接受我自己的答案。

0

在android中有多種實現Tab活動的方法。

儘管您應該收到的onResume如果你有處理不同的標籤不同的活動,您可以使用onTabChanged()方法來保持標籤用戶的音軌選擇,並相應地執行任務。

+0

感謝您的建議,請檢查我的問題獲取更新信息。 –

0

在包含listview的活動中,覆蓋onTabChanged()並調用adapter.notifydatasetchanged()listView1.setAdapter(adapter)來刷新列表視圖。

+0

感謝您的建議,請檢查我的問題以獲取更新信息。 –

+0

嘗試覆蓋活動的onRestart()事件。這是在用戶重新導航到活動之後調用的,這就是你正在做的事情。如果這不起作用,您也可以嘗試覆蓋onRestoreInstanceState()事件。點擊[這裏](http://developer.android.com/reference/android/app/Activity.html#onRestart())獲取更多信息。 –

+0

嘗試用Log.d登錄都沒有成功。 –

0

我建議你改變活動組

+0

一個的ActivityGroup內的另一個? –

+0

哦,我的上帝,我很抱歉,我在錯誤的窗口回答了?我也發佈了類似的問題。 – Rovin

相關問題