我有一個片段,它擴展DialogFragment並需要通知其他對象時,其內容的變化。什麼是最好的方式添加偵聽器到我的片段
android片段指南指出,最好的方法是要求包含活動實現指定的接口,然後將活動轉換到該接口並調用該方法。
這是行得通的,但它的侷限性是隻有包含活動才能聽取更改。如果我想要通知任意對象,我該怎麼辦?
我不能只是採取一種方法,採取一個聽衆作爲參數,因爲片段可能會重新由Android構建在我的背後。我不能將監聽器放在一個包中,因爲我無法知道類是否實現了可以持久化/序列化的監聽器,並且我並不是所有的監聽器對象都是重複的。
我的片段在彈出的同時使用,並且作爲在主視圖中顯示正常片段
爲什麼不使用上面提到的接口方法,並在活動中發送廣播以通知誰想要收聽廣播? – Mikel
這可能會起作用,但會導致片段與活動之間的緊密耦合。我不希望我的片段在包含我的片段的所有活動中都需要特殊的廣播代碼。 – MTilsted