我想将数据从fragmentdialog传递给MainActivity
这是用于在片段
中发送日历数据的代码 Intent intent = new Intent(getActivity() , MainActivity.class);
timePick.getCurrentMinute());
Bundle bundle = new Bundle();
bundle.putLong("mili", mCalendar.getTimeInMillis());
intent.putExtras(bundle);
这是在MainActivity中接收日期的代码
long a = getIntent().getExtras().getLong("mili");
这部分会出错。
请帮帮我
答案 0 :(得分:0)
要将数据从Fragment发送到Activity,建议的方法是在Robust way to pass value back from Dialog to Activity on Android?问题的答案中显示。这是传递值的首选方式。
您需要做的是在片段中创建一个接口,并使您的活动实现此接口侦听器。然后传递你的结果。 Android开发团队推荐使用此方法。
另一种方法是从你的片段调用getActivity(),它会传递一个创建这个片段的Activity的实例,你可以在那里调用父活动的任何方法(首先将结果转换为类型)父母活动)。
答案 1 :(得分:0)
你可以很容易地实现活动和片段之间的接口。就像这一点 首先创建界面
public interface CallBackListener {
public void onCallBack(Long mili);
}
然后实现此活动的接口,以获取数据并假设其片段的父活动如此
public class YourActivity extends Activity implements CallBackListener {
...
@Override
public void onCallBack(Long mili){
//take value of mili as you wanted.
}
}
在你的fragmentdialog中,当你需要回调或数据时,只需调用下面给出的方法。
CallBackListener callBackListener = (CallBackListener) getActivity();
callBackListener.onCallBack(mili);