Search code examples
javaandroidandroid-fragmentsdatepickertimepicker

FragmentTransaction cannot be converted to Fragment Manager


Does anyone know how to solve this ? How can I convert fragmentTransaction to fragment manager? I have one datePicker in Information activity and TimePicker in WorkDetails activity.Any suggestions would greatly appreaciated. Thanks

Information.java

   dialog = new DateDialog();
     public void onClick(View arg0) {
            FragmentTransaction ft =getActivity().getSupportFragmentManager().beginTransaction();
            dialog.show(ft, "DatePicker");

        }
 public static class DateDialog extends android.app.DialogFragment implements DatePickerDialog.OnDateSetListener {
        //  EditText txtdate;
        Tab t;


        public DateDialog() {

        }


        public Dialog onCreateDialog(Bundle savedInstanceState) {

            final Calendar c = Calendar.getInstance();
            int year = c.get(Calendar.YEAR);
            int month = c.get(Calendar.MONTH);
            int day = c.get(Calendar.DAY_OF_MONTH);
            return new DatePickerDialog(getActivity(), this, year, month, day);
        }

        public void onDateSet(DatePicker view, int year, int month, int day) {
            String date = day + "-" + (month + 1) + "-" + year;
            txtDate.setText(date);
            date1 = txtDate.getText().toString();
            return;
            //t.add(date);


        }
    }

WorkDetails.java

 if (id == R.id.editTextTI2) {
            tp.setFlag(TimePick.FLAG_START_DATE1);
            FragmentTransaction ft =getActivity().getSupportFragmentManager().beginTransaction();
            tp.show(ft, "TimePicker");
        }

Error

Error:(51, 15) error: 

    no suitable method found for show(android.support.v4.app.FragmentTransaction,String)
    method DialogFragment.show(FragmentManager,String) is not applicable
    (argument mismatch; android.support.v4.app.FragmentTransaction cannot be converted to FragmentManager)
    method DialogFragment.show(android.app.FragmentTransaction,String) is not applicable
    (argument mismatch; android.support.v4.app.FragmentTransaction cannot be converted to android.app.FragmentTransaction)

Solution

  • Information.java

    use public static class DateDialog extends android.support.v4.app.DialogFragment implements DatePickerDialog.OnDateSetListener instead of public static class DateDialog extends android.app.DialogFragment implementsDatePickerDialog.OnDateSetListener.

    WorkDetails.java

    public static class TimePick extends android.support.v4.app.DialogFragment implements TimePickerDialog.OnTimeSetListener