【发布时间】:2013-06-09 18:13:46
【问题描述】:
FirstActivity.Java 有一个FragmentA.Java,它调用startActivityForResult()。
SecondActivity.Java 打电话给finish() 但onActivityResult 永远不会被调用
写在FragmentA.Java。
FragmentA.Java代码:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// some code
Intent i = new Intent(getActivity(), SecondActivity.class);
i.putExtra("helloString", helloString);
getActivity().startActivityForResult(i, 1);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
getActivity();
if(requestCode == 1 && resultCode == Activity.RESULT_OK) {
//some code
}
}
SecondActivity.Java代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//some code
Intent returnIntent = new Intent();
returnIntent.putExtra("result", result);
setResult(Activity.RESULT_OK,returnIntent);
finish();
}
我已尝试调试代码,但从未调用过 onAcitvityResult()。
【问题讨论】:
-
尝试把它(onActivityResult方法)放到FirstActivity类中
标签: android android-fragmentactivity