我一直在使用DialogFragment
來處理應用程序上的對話框。處理DialogFragment回調的最佳方法是什麼?
我讀過this它提供了有關如何使用它的一些例子,但它總是使用了諸如:
((FragmentAlertDialog)getActivity()).doPositiveClick();
((FragmentAlertDialog)getActivity()).doNegativeClick();
我真的不喜歡這個實現,因爲它責成強制轉換爲預已知的活動所以它不是很健壯。
我也知道,傳球和存儲FragmentDialog
內的回調是不是一個好的選擇,因爲如果它引用了一個活動,例如旋轉後,該活動可能已被破壞......而回調不更新。
當活動通過時還更新回調onResume
也不是一個非常可行的選擇,因爲它必須知道顯示哪個對話框並設置與其相關的回調使得在較大的應用程序上的邏輯有點棘手。
那麼你建議什麼實現來避免強制轉換,同時保持最新的回調?