問題:如何創建從DialogFragment到另一個Fragment的回調。就我而言,涉及的活動應該完全不知道DialogFragment??紤]一下我public class MyFragment extends Fragment implements OnClickListener然后在某些時候我能做到DialogFragment dialogFrag = MyDialogFragment.newInstance(this);dialogFrag.show(getFragmentManager, null);MyDialogFragment的樣子protected OnClickListener listener;public static DialogFragment newInstance(OnClickListener listener) {
DialogFragment fragment = new DialogFragment();
fragment.listener = listener;
return fragment;}但是,如果DialogFragment在其生命周期中暫停和恢復,則無法保證聽眾會出現。片段中唯一的保證是通過setArguments和getArguments通過Bundle傳遞的。如果它應該是監聽器,有一種方法可以引用該活動:public Dialog onCreateDialog(Bundle bundle) {
OnClickListener listener = (OnClickListener) getActivity();
....
return new AlertDialog.Builder(getActivity())
........
.setAdapter(adapter, listener)
.create();}但我不希望活動監聽事件,我需要一個片段。實際上,它可以是任何實現OnClickListener的Java對象。考慮通過DialogFragment呈現AlertDialog的Fragment的具體示例。它有Yes / No按鈕。如何將這些按鈕發送回創建它的Fragment?
- 3 回答
- 0 關注
- 635 瀏覽
添加回答
舉報
0/150
提交
取消
