gpt4 book ai didi

java - 安卓:setResult 不工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:54:32 25 4
gpt4 key购买 nike

场景:我有一个 MainActivity.javaOtherPageForFragments.java 和一个位于 OtherPageForFragments.java 上的 fragment

MainActivity.java 中,我编写了以下代码来启动 Activity 并在

中获取结果

onActivityResult(int requestCode, int resultCode, Intent data)

startActivityForResult(new Intent(this, OtherPageForFragments.class),REQUEST_CODE_MAP);

在 fragment 类的onDestroy()中,我这样写:

public void onDestroyView() {
// TODO Auto-generated method stub
super.onDestroyView();
mlocManager.removeUpdates(this);
Intent intent = new Intent();
intent.putExtra("Latitude", passLatLng.latitude);
intent.putExtra("Longitude", passLatLng.longitude);
getActivity().setResult(Activity.RESULT_OK, intent);
getActivity().finish();
}

现在,我希望在 MainActivity 类中得到结果。因此,我在onActivityResult 方法中编写了以下代码:

if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_CODE_MAP)
{
tost("2");
double lat=data.getExtras().getDouble("Latitude");
double lng=data.getExtras().getDouble("Longitude");
tost(lat + " -- " + lng);
}

问题:返回的 resultCode 不是 Activity.RESULT_OK 而我得到的 Intentnull.

要做什么?谢谢

最佳答案

getActivity().setResult(Activity.RESULT_OK, intent);
getActivity().finish();

这段代码不应该在 onDestroy 中。 onDestroy 发生在 Activity 已经完成并调用了 onActivityResult 之后。

此代码需要在关闭 Activity/fragment 的代码中,比如按下后退键,或者关闭按钮 onClick

关于java - 安卓:setResult 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17444448/

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