gpt4 book ai didi

android - 如何将 Activity 中的数据发送回 fragment

转载 作者:行者123 更新时间:2023-11-30 01:28:38 24 4
gpt4 key购买 nike

我对如何在 fragment 和 Activity 之间发送数据感到非常困惑,因为我发现了如何在 Activity 甚至 fragment 之间发送数据,而不是从 fragment 调用的 Activity 中发送数据(我认为这是不同的,因为我尝试了这些方法,但没有用)。

在我的例子中,我想从一个 fragment 开始一个新的 Activity ,并将一些数据(来自时间选择器的时间)发送回启动该 Activity 的 fragment 。

所以基本上我的问题是,

如何从扩展 fragment 的类开始一个新的 Activity?

然后,如何将数据发送回 fragment 。

最佳答案

从为您返回一些结果的 fragment 开始 Activity ;你可以使用 startActivityForResult :

例如:

    public class YourFragment extends Fragment {

private static final int REQUEST_GET_DATA_FROM_SOME_ACTIVITY = 1;

//start activity for result
....
Intent intent = new Intent(getActivity(),SomeActivity.class);
startActivityForResult(intent,REQUEST_GET_DATA_FROM_SOME_ACTIVITY)

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == REQUEST_GET_DATA_FROM_SOME_ACTIVITY && resultCode == Activity.RESULT_OK) {
Bundle extras = data.getExtras();
//get data from extras
}
}

}

在你的 Activity 中

public class SomeActivity extends Activity {

//complete process and deliver result
........
Intent resultIntent = new Intent();
resultIntent .putExtra("extra","put anything");
setResult(Activity.RESULT_OK, resultIntent);
finish();
}
}

关于android - 如何将 Activity 中的数据发送回 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36064658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com