2012-12-31 174 views
2

我只是好奇,因爲我已經在FragmentActivity中設置了Fragment選項卡,如何從FragmentActivity或片段本身重新加載片段,以僅清除並重新加載該選項卡。我基本上需要與重新選擇選項卡時發生的相同的事情,當它替換片段時。有沒有簡單的方法來做到這一點,並重新加載片段?重新加載片段

+0

爲了什麼原因,你需要重新加載一個片段? – Adam

+0

需要重新加載/刷新真正的視圖,因爲我需要更新從服務器填充的內容並根據收到的數量進行更改。它目前的工作方式就像我選擇另一個選項卡並重新選擇我擁有的選項卡。但是由於活動在負載時沒有及時收到,它不知道它足夠快。 – thekevshow

+0

看到我的答案,並告訴我它是否有效 – Adam

回答

4

創建一個開始FragmentTransaction,分離片段並提交的方法。然後開始一個新的FragmentTransaction,它附加了片段並提交。這應該銷燬視圖層次結構,再次創建它,將其附加到UI並顯示它。無論何時你需要刷新片段,jsut都會調用這個方法。

+0

我不認爲這是行得通的,因爲它在屏幕上空白時並沒有提供真正的錯誤,直到它用完內存替換片段,但我認爲這可能是因爲它仍然沒有我也沒有收到我需要的價值。我只是不知道爲什麼它不會,但你可以給我一些示例代碼,看看我是否做得很好。 – thekevshow

+0

@ kev2316當收到號碼時,即應該調用上述方法。 – Adam

+0

其實是的它的工作謝謝你,我有一個錯誤,它沒有得到它,只是「刷新」片段經常。謝謝 – thekevshow

1

你可以做這樣的事情:

fm=getActivity().getSupportFragmentManager(); 
{ 
fm.beginTransaction().replace(Containername, new CurrentFragmentname, CurrentFragment.class.getName()).commit(); 
}