0

I have a class which extends by DialogFragment. I want to call a method in a class which extends by FragmentActivity within this DialogFragment.

In my FragmentActivity, i do as below to call DialogFragment.

DialogFragment dialogFragment = new MyDialogFragmentClass();
dialogFragment.show(getSupportFragmentManager(), "datePicker");

I'm using this DialogFragment to show a DatePicker. When user select date and click set button, i want to call a method in my FragmentActivity.

How can i do this ?

Bishan
  • 15,211
  • 52
  • 164
  • 258

1 Answers1

0
public class MainActivity extends FragmentActivity {

EditText mEdit;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void selectDate(View view) {
    DialogFragment newFragment = new SelectDateFragment();
    newFragment.show(getSupportFragmentManager(), "DatePicker");
}
public void populateSetDate(int year, int month, int day) {
    mEdit = (EditText)findViewById(R.id.editText1);
    mEdit.setText(month+"/"+day+"/"+year);
}
public class SelectDateFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        final Calendar calendar = Calendar.getInstance();
        int yy = calendar.get(Calendar.YEAR);
        int mm = calendar.get(Calendar.MONTH);
        int dd = calendar.get(Calendar.DAY_OF_MONTH);
        return new DatePickerDialog(getActivity(), this, yy, mm, dd);
    }

    public void onDateSet(DatePicker view, int yy, int mm, int dd) {
        populateSetDate(yy, mm+1, dd);
    }
}

}

// import necessary packages...

Code Lღver
  • 15,573
  • 16
  • 56
  • 75
Anil Chahal
  • 2,544
  • 2
  • 22
  • 19