P R*_*ant 8 java android android-intent
场景:我有一个MainActivity.java
,OtherPageForFragments.java
和片段,其中上OtherPageForFragments.java
在MainActivity.java
,我编写了以下代码来启动一个活动并获得结果
onActivityResult(int requestCode,int resultCode,Intent data)
是
startActivityForResult(new Intent(this, OtherPageForFragments.class),REQUEST_CODE_MAP);
Run Code Online (Sandbox Code Playgroud)
在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();
}
Run Code Online (Sandbox Code Playgroud)
现在,我希望我的成绩在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);
}
Run Code Online (Sandbox Code Playgroud)
问题:resultCode
返回的不是Activity.RESULT_OK
,Intent
我得到的是null
.
该怎么办?谢谢
小智 10
getActivity().setResult(Activity.RESULT_OK, intent);
getActivity().finish();
Run Code Online (Sandbox Code Playgroud)
此代码不应该在onDestroy中.onDestroy在活动完成后发生,并且调用了onActivityResult.
此代码需要在关闭活动/片段的代码中,例如按下后退键或onClick上的关闭按钮
尝试这个:
Intent data = new Intent();
intent.putExtra("Latitude", passLatLng.latitude);
intent.putExtra("Longitude", passLatLng.longitude);
if (getParent() == null) {
setResult(Activity.RESULT_OK, data);
} else {
getParent().setResult(Activity.RESULT_OK, data);
}
getActivity().finish();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20374 次 |
最近记录: |