gpt4 book ai didi

java - 从 Google Map 获取结果并将数据传输回之前的 fragment

转载 作者:行者123 更新时间:2023-12-02 11:25:57 24 4
gpt4 key购买 nike

我为我的 Android 应用程序创建了 Google map 功能。当用户进入 FragmentA 时,系统会要求他们输入一些信息,例如作业的名称和描述。当他们到达该页面的下方时,他们可以选择一个 map 按钮,允许他们打开我创建的 Google map 。在这个 fragment FragmentMap上,他们可以选择一个位置。一旦他们感到满意,他们就可以按下绿色的勾号/复选图标,该图标会显示一个弹出窗口,询问他们是否对该位置感到满意。

当用户选择"is"按钮时,我希望他们从 map 中选择的地址从 FragmentMap 传输回 FragmentA。我还需要 FragmentA 保留他们在按“ map ”按钮之前已输入的所有用户信息。

例如,用户输入了作业名称、描述和收集日期,然后按下 map 。然后他们在 map 上选择一个位置并确认它是正确的。然后他们将返回到 FragmentA,其中之前输入的所有详细信息以及用户选择的 map 中的地址仍然在 EditText 字段中。

FragmentA,用户可以在其中输入数据,例如 Avdert Name。当他们按下 map 按钮时,将显示 FragmentMap

FragmentA

一旦用户选择了位置并确认,他们将通过此弹出窗口显示。如果他们按 yes,地址(如图所示)将被传输回 FragmentA

Confirming Location

我的问题是,如何将数据从 Map fragment 传输回 FragmentA 并保留 FragmentA 中的所有先前数据。我正在考虑使用 bundle 将数据从 FragmentA 传输到 FragmentMap,然后再次将其传回。他们是一种更有效、更简单的方法吗?

注意

我的问题与我发现的其他问题不同,因为它是关于 map 并保留上一个 fragment 中的信息

最佳答案

当您从A启动Fragment B时,您可以调用setTargetFragment()。示例:

FragmentB fragmentB = FragmentB.newInstance();
fragmentB.setTargetFragment(FragmentA.this, REQUEST_CODE);
getFragmentManager().beginTransaction().replace(R.id.container,
fragmentB).commit();

然后当你想将数据从B传回 fragment A时,可以调用以下代码:

getTargetFragment().onActivityResult(
getTargetRequestCode(),
Activity.RESULT_OK,
new Intent().putExtra("datafrom B", "datafrom B")
);

并从 fragment A 中的 onActivityResult() 方法获取它:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode==REQUEST_CODE && resultCode==Activity.RESULT_OK) {
String datafromB = data.getStringExtra("datafrom B");
}
}

关于java - 从 Google Map 获取结果并将数据传输回之前的 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49628428/

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