2016-09-23 58 views
0

我有一個活動,它具有一個列表視圖和一個適配器。從適配器我打電話對話框片段和對話框片段做一些事件和接口寫入結果到適配器,現在我需要根據結果做一些活動的UI變化,我怎麼能通過結果到活動..活動如何從其適配器獲得接口調用

活動--->適配器--->片段 - >接口

回答

1

您可以通過界面來完成此操作。按照以下4步

1創建一個接口

interface abc(){ 
    void callDialogFragment() 
} 
  • intialise在適配器構造該接口對象

    ABC mLisetner;

    mLisetner =(abc)mContext; //調用該方法在特定聽者

    mLisetner.callDialogFragment()

  • 實現上的活動

  • 接口上定義的actvity方法超越控制和呼叫dialogFragment

    @override 公共callDialogFragment(){

    //在此處調用您的對話 }

  • 0

    這看起來真的再加設計。 我希望看到一些代碼,以瞭解你完成了什麼。 我想你已經將活動引用傳遞給了顯示片段的適配器。

    從技術上講,你的活動可以實現你的接口,片段可以使用活動的引用來調用接口的方法,但它看起來是一個非常糟糕的設計。

    檢查https://github.com/greenrobot/EventBus但即使如此,請勿過度使用。

    2

    最簡單的辦法:

    fragment必須activity的參考。所以DialogFragment裏面,你可以撥打:

    ((YourActivityName)getActivity()).anyPublicMethodOfActivity(someData); 
    

    如果你把一些代碼,我可以告訴你如何fragment已得到activity的參考。

    相關問題