Вы можете создать интерфейс Listener
, который будет реализован в вашей деятельности и используется в DialogFragment
посредством ссылки на операцию.Что-то вроде:
public class MyActivity extends Activity implements NumberPickerListener {
...
@Override
public void onValuesPicked(int first, int second, int third) {
//Do work here.
}
...
}
Интерфейс:
interface NumberPickerLisener {
void onValuesPicked(int first, int second, int third);
}
В вашем фрагменте:
public class PickerDialog extends DialogFragment {
NumberPickerListener listener;
...
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
View child = getActivity().getLayoutInflater().inflate(R.layout.dialog, null);
listener = (MyActivity)getActivity();
...
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
listener.onValuesPicked(numberPicker.getValue(), numberPicker2.getValue(), numberPicker3.getValue());
dismiss();
}
});
...
}
}