問題:如何創(chuàng)建從DialogFragment到另一個Fragment的回調(diào)。就我而言,涉及的活動應(yīng)該完全不知道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在其生命周期中暫停和恢復(fù),則無法保證聽眾會出現(xiàn)。片段中唯一的保證是通過setArguments和getArguments通過Bundle傳遞的。如果它應(yīng)該是監(jiān)聽器,有一種方法可以引用該活動:public Dialog onCreateDialog(Bundle bundle) {
OnClickListener listener = (OnClickListener) getActivity();
....
return new AlertDialog.Builder(getActivity())
........
.setAdapter(adapter, listener)
.create();}但我不希望活動監(jiān)聽事件,我需要一個片段。實(shí)際上,它可以是任何實(shí)現(xiàn)OnClickListener的Java對象。考慮通過DialogFragment呈現(xiàn)AlertDialog的Fragment的具體示例。它有Yes / No按鈕。如何將這些按鈕發(fā)送回創(chuàng)建它的Fragment?
- 3 回答
- 0 關(guān)注
- 624 瀏覽
添加回答
舉報
0/150
提交
取消