4

我在我的應用程序中使用導航選項卡。我有3個片段從Internet載入不同的數據。我想知道放置發出HTTP請求的代碼的最佳位置,在onCreateonCreateViewonActivityCreated在片段onCreateView,onCreate或onActivityCreated中創建HTTP請求?

通常,我把所有的代碼(請求數據,填充適配器,充氣視圖...)在onCreateView。我也看到很多人在互聯網上做這件事。

但是本指南https://github.com/thecodepath/android_guides/wiki/Creating-and-Using-Fragments以不同的方式做事。所以我想確定要做什麼。

+0

你得到了答案。 PLZ張貼您的答案@tsil –

回答

0

我通常會把代碼用onResume()中的新狀態刷新視圖。我只會誇大onCreateView中的視圖,並可能設置適配器等。

這也取決於你想要如何新鮮的數據。我只需要在用戶啓動應用程序時加載它,我會將它加載到Activity的onCreate中,然後在一個批次中加載碎片的所有數據。然後您可以存儲數據並將其檢索到不同的片段中。

此外,你總是想要在不同的線程上從互聯網加載數據。如果您設置了將數據加載到片段本身中,我會在onCreate中啓動一個asynctask,並刷新asyntask中回調片段的視圖。在onCreateView中,您可以放置​​默認值,或讓用戶知道數據正在通過文本或其他通知進行。

如果你想要真正的新鮮數據,你可以在片段的onResume()中啓動asynctask。

相關問題