【问题标题】:OnActivityResult not call inside fragment but the Main Activity in androidOnActivityResult 不是在片段内部调用,而是在 android 中调用 Main Activity
【发布时间】:2015-02-06 09:39:35
【问题描述】:

我正在处理一个调用相机的片段。

startActivityForResult(intent, REQUEST_CAMERA);

问题是,如果我覆盖片段内的onActivityResult,它不会调用,

@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        Log.d("test","result frag");

        super.onActivityResult(requestCode, resultCode, data);
    }

但只能在 Main Activity 中调用 onActivityResult

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
   Log.d("test","main");
   super.onActivityResult(requestCode, resultCode, data);
}

经过一番调查,通过调用 Main Activity 的onActivityResult 函数中的片段方法,有一些解决方案。但是我怎样才能用其他方法解决它呢?非常感谢。

【问题讨论】:

  • 谢谢提醒,问题是我已经在fragment中使用了startActivityForResult(intent,111)而不是getActivity().startActivityForResult(intent,111),但是还是不能调用。
  • 也检查其他答案。出于某种原因,有 11 个答案至少有一个支持。
  • 是的,我在那篇文章中发现几乎所有使用 fragment.startActivityForResult apporach,我想找到任何其他解决方法。很抱歉,如果它与其他人重复。
  • 重要 --> Fragment 是 Activity 的子节点,

标签: java android android-activity android-fragments callback


【解决方案1】:

删除片段中的super.onActivityResult(requestCode, resultCode, data);

【讨论】:

  • 他应该这样做吗?这甚至没有意义
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-17
  • 2014-09-18
  • 1970-01-01
  • 1970-01-01
  • 2018-06-14
  • 2014-08-11
  • 1970-01-01
相关资源
最近更新 更多