问题:如何创建从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 回答
- 3 回答
- 0 关注
- 610 浏览
添加回答
举报
0/150
提交
取消