首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否需要在onActivityResult()中使用super.onActivityResult()?

是否需要在onActivityResult()中使用super.onActivityResult()?
EN

Stack Overflow用户
提问于 2012-08-01 01:05:40
回答 6查看 19.4K关注 0票数 70

哪一个更好?为什么?

这一条:

代码语言:javascript
复制
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);

    ...
}

或者这样:

代码语言:javascript
复制
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    // do not call super.onActivityResult()
    ...
}
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-08-01 01:22:46

第一个更好。

它与Activity应用程序接口中的其他事件函数更一致,它不需要任何成本(您正在调用的代码目前不做任何事情),这意味着当基类的行为发生变化时,您不需要记住添加调用。

编辑

正如Su-Au Hwang所指出的那样,我对基类行为在未来改变的预测成真了!FragmentActivity 需要你在super上调用这个方法。

票数 56
EN

Stack Overflow用户

发布于 2013-07-05 17:24:55

如果您使用的是支持包中的FragmentActivity (也是SherlockFragmentActivity),则应该调用super.onActivityResult。否则它是不必要的,但是我只是为了它而把它插进去。检查FragmentActivity的来源(no onActivityResult不为空)。

FragmentActivity source

票数 27
EN

Stack Overflow用户

发布于 2012-08-01 01:19:47

除非您的应用程序中有多个依赖于它的Activity子类,否则看起来不需要调用super.onActivityResult(),因为onActivityResult()的实现是空的(我检查了API15级)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11745366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档