2016-08-23 81 views
2

什麼是從其片段 訪問活動的數據成員的最好方法,我知道的一些方法包括 -從片段訪問父活動的數據

  1. 創建片段中的一個接口,它的活動將實施。該接口將具有訪問Activity的數據成員的方法。

  2. 使用((Activity)getActivity)從該片段直接訪問.getXXX()。

  3. 將數據成員或自定義parcelable類傳遞給片段的newInstance方法,並將片段參數設置爲例如 -

    Bundle args = new Bundle();

    args.putInt(「num」,num);

    f.setArguments(args);

    以後我們可以得到使用getArguments()的參數

哪種方法是最好的,什麼是各自的缺點?

回答

0

其實第一和第三種方法的組合是最好的。第二個應該不惜代價避免,因爲這強烈地將片段連接到特定的Activity。這將擊敗Fragments的主要優點之一,即能夠在不同的Activities(即插即用)中使用它。

至於第一和第三種方法。 - 第一個問題是您通常如何通過Fragment與您的Activity進行溝通。 - 第三個是你如何通常實例化Fragment,同時從Activity向它傳遞數據。當你已經有一個Fragment的實例運行時,你必須重新使用第一種方法。

+0

謝謝。這清除了它。 – proy31