Trying to set text of EditText from DatePicker DialogFragment

前端 未结 2 1694
梦如初夏
梦如初夏 2020-12-20 06:42

I am simply trying to get the date from a datepicker dialog I created from one of the many android datepicker tutorials I found online. I seem to be going wrong somewhere in

2条回答
  •  醉梦人生
    2020-12-20 07:06

    You need to use an interface to get the data from the datepicker to the caller fragment:

    public interface DateListener {
        void passDate(String date);
    }
    

    Create a member variable called mListener:

    private DateListener mListener;
    

    Override the onAttach & onDetach fragment methods:

    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        try {
            mListener = (DateListener) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString() + " must implement DateListener");
        }
    }
    
    @Override
    public void onDetach() {
        super.onDetach();
        mListener = null;
    }
    

    Next, implement this interface in the caller fragment and override the passDate method:

    @Override
    public void passDate(String date) {
        // Do something with 'date', yourEditText.setText(date) for the example
    }
    

    And you should be good to go.

提交回复
热议问题