標籤:style 刪除 data- post override call cal 列表 tac
google 從3.0開始就引入了 Fragment 概念,用 Fragment 取代多 Activity,假設你還停留在 Activity 時代,那你就面壁去吧!
Fragment 是好用,可是又幾個問題,
1.在 ViewPager 裡面,你不知道 Fragment 當前是顯示還是隱藏狀態,就是少了一個 onShow onHide 回調
2.就是本客題,顯示一個 DialogFragment 回調問題,
舉個情境,刪除一個檔案。用 DialogFragment 彈出使用者選擇,你怎麼知道使用者確定了還是取消了,而且你不知道這個 DialogFragment 何時消失了,由於沒有觸發不論什麼UI 事件,你就不知道要重新整理列表,
然而,我知道,僅僅要我有問題,上 stackoverflow 這裡一定能夠搜到答案
http://stackoverflow.com/questions/13733304/callback-to-a-fragment-from-a-dialogfragment
這問題就是了
原理:
Fragment 有
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
回調,當你在 Fragment 裡調用 getParentFragment().onActivityResult() 就能夠收到回調,細緻想想。這事實上就一個函數調用,沒經過系統處理,。。
stackoverflow 上講的這個範例更合理,使用
dialogFrag.setTargetFragment(this, DIALOG_FRAGMENT);
getTargetFragment().onActivityResult(getTargetRequestCode(), Activity.RESULT_OK, getActivity().getIntent());
組合。更加合理
android DialogFragment 回調到 Fragment