我知道如何使用Intent做到这一点,但是我该怎么做...。

这是我必须打开DatePickerFragment的代码:

DialogFragment newFragment = new DatePickerFragment();

Bundle bundle = new Bundle();
bundle.putString("date", (String) itemDict.get(Helper.convertKeyString(name, false)));
newFragment.setArguments(bundle);

newFragment.show(getFragmentManager(), "datePicker");


打开后,如何将选择的日期传回Activity

最佳答案

您可以创建interface,将其传递给DatePickerFragment(在构造函数中),然后在关闭对话框之前调用方法。

例如:

您的界面:

public interface OnDatePicked{
    void onDatePicked();
}


您的活动:

public YourActivity implements OnDatePicked{
    //your Activity
}


和您的DatePickerFragment:

public class DatePickerFragment { //change Object to required type
    private OnDatePicked listener;

    public DatePickerFragment(OnDatePickedlistener){
        this.listener=listener;
    }

    //required methods
    protected void method(Object o){
        //your stuff
        listener.onDatePicked();
    }
}

09-09 21:46