The link you read talks about passing a fragment using Activity (using Listeners). This is because the fragment is closely related to Activity. Now that you use the Adapter to run the fragment, you can probably do this.
public class MyDialog extends DialogFragment { private Listener mListener; public void setListener(Listener listener) { mListener = listener; } static interface Listener { void returnData(int result); } @Override public void onActivityCreated (Bundle savedInstanceState){ super.onActivityCreated(savedInstanceState); mBtnSubmit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (mListener != null) { mListener.returnData(data); } dismiss(); } }); } }
and for the adapter
public class PCListAdapter extends ArrayAdapter<PC> implements MyDialog.Listener { public void showCommentDialog() { FragmentManager fm = ((Activity)mContext).getFragmentManager(); MyDialog dialog = new MyDialog(); dialog.setListener(PCListAdapter.this); dialog.show(fm, "mydialog"); } @Override public void returnData(int result) { } }
source share