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()未被调用。
3 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
凯文(Kevin)的答案行得通,但是使用该解决方案很难处理数据。
最好的解决方案不是从startActivityForResult()活动级别开始。
在你的情况下不要打电话 getActivity().startActivityForResult(i, 1);
相反,只需使用startActivityForResult()它就可以正常工作!:)
- 3 回答
- 0 关注
- 401 浏览
添加回答
举报
0/150
提交
取消