【问题标题】:What is the difference between getExtras and getBundleExtras?getExtras 和 getBundleExtras 有什么区别?
【发布时间】:2012-03-23 12:53:50
【问题描述】:

谁能解释一下getExtras()getBundleExtras()有什么区别?

【问题讨论】:

    标签: android android-layout android-intent


    【解决方案1】:

    getBundleExtra("String") 得到一个名为 String 的包。

    getExtras() 得到一个包含所有放入数组中的项目的包。

    可以使用putExtra(Bundle, String tag) 命令放置捆绑包,因此getBundleExtra() 将返回该值。

    【讨论】:

    • @Binngokute:我看你是相当新的,所以让我解释一些事情。如果您发现问题或答案有帮助,有几种方法可以回馈用户。其中一种方法是对答案进行投票,第二种方法是选择其中一个答案作为您接受的答案。我看到你还没有接受任何答案,人们通常对接受答案的人更有帮助。只是对未来的提示。
    【解决方案2】:

    值得注意的是getExtras()返回copy放置在意图中的所有项目,其实现如下所示:

    4433    public Bundle getExtras() {
    4434        return (mExtras != null)
    4435                ? new Bundle(mExtras)
    4436                : null;
    4437    }
    

    所以打电话给intent.getExtras().putInt(...)不是个好主意

    【讨论】:

    • 赞成这个 - 我只是浪费了一个多小时,因为我没有意识到 getExtras 实际上并没有返回原始 Bundle。
    猜你喜欢
    • 1970-01-01
    • 2010-10-02
    • 2011-12-12
    • 2010-09-16
    • 2012-03-14
    • 2012-02-06
    • 2011-02-25
    • 2011-11-22
    • 2015-03-26
    相关资源
    最近更新 更多