這篇介紹如何在fragment上用DialogFragment的callback
有fragment, callback, dialogfragment的觀念在看會比較清楚
1. 首先先創好Fragment和Dialogfragment並設定好其callback的interface
2. override onCreate方法
在裡面給予callback的初始值
範例如下
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
mListener = (Listener) getTargetFragment();
} catch (ClassCastException e) {
e.printStackTrace();
}
}
3. 然後回到fragment去implement該interface
4. 最後在show該Dialog的前面設定目標Fragment就好了
TestDialog dialog = new TestDialog();
dialog.setTargetFragment(this, 0);
dialog.show(getFragmentManager(), "dialog");
5. 執行後按下按鈕就會有callback效果了