getExtras和getBundleExtras有什么区别?

Toa*_*Van 20 android android-intent android-layout

有人可以向我解释一下getExtras()和之间的区别是getBundleExtras()什么?

Pea*_*oto 19

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

getExtras() 获取包含放入数组中的所有项目的包.

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

  • @Binngokute:我觉得你很新,所以让我先解释一下.如果您发现问题或答案有用,可以通过几种方式回馈用户.其中一个是提出答案,第二个方法是选择其中一个答案作为你接受的答案.我发现你还没有接受任何答案,人们通常对接受答案的人更有帮助.只是对未来的一个提示. (5认同)

mar*_*inj 9

值得注意的是,getExtras()返回置于intent中的所有项的副本,其实现如下所示:

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

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

  • Upvoting this - 我浪费了一个多小时,因为我没有意识到getExtras实际上并没有返回原来的Bundle. (2认同)