简体   繁体   English

如何从DialogFragment / DatePickerFragment将日期传递回活动?

[英]How do I pass back a date to an Activity from a DialogFragment / DatePickerFragment?

I know how to do this with Intent, but how do I do this.... 我知道如何使用Intent做到这一点,但是我该怎么做...。

Here is the code I have to open the DatePickerFragment : 这是我必须打开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");

Once that is open, how do I pass the date I choose back to my Activity ? 打开后,如何将选择的日期返回Activity

You can create interface , pass it to DatePickerFragment (in constructor), and then call method in before closing the dialog 您可以创建interface ,将其传递给DatePickerFragment (在构造函数中),然后在关闭对话框之前调用方法。

For example: 例如:

Your interface: 您的界面:

public interface OnDatePicked{
    void onDatePicked();
}

Your Activity: 您的活动:

public YourActivity implements OnDatePicked{
    //your Activity
}

And your DatePickerFragment: 和您的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();
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM