2016-04-23 103 views
0

我开始使用Xamarin,我已经看过教程,并通过互联网查看了这个问题的具体答案,但没有幸运。Xamarin中Android中“savedInstanceState”和“bundle”的区别?

这是问题。

当我创建一个新的项目,VisualStudio中选择一个Xamarin C#的Android应用程序,它会自动创建与此代码MainActivity.cs:
code_1

注意此代码:
protected override void OnCreate(Bundle bundle)

base.OnCreate(bundle);

然后我添加了一个名为Activity1.cs的新活动(右键单击项目Add,New item,Activity,Add),但是在新行为中ivity由Xamarin自动生成的代码是不同的:
code_2

注:
protected override void OnCreate(Bundle savedInstanceState)

base.OnCreate(savedInstanceState);

为什么是 “捆绑” 改为 “savedInstanceState”?如果我在Activity1中放入“包”,反之亦然?

非常感谢任何人都可以帮助我,对不起,如果它似乎是一个愚蠢的问题。

+0

请不要将代码发布为图片 – Jason

+0

只是一个名字!!! –

回答

0

bundlesavedInstanceState只是参数的名称,所以它们之间没有区别。在C#中,参数名称无关紧要。

下面是参数从Xamarin documentation的描述传递给OnCreate方法:

如果该项活动后,先前被关闭 下来,然后这个包包括它最近提供的数据重新初始化在 Activity.OnSaveInstanceState(Bundle)中。注意:否则它是空的。

+0

谢谢,但是这个参数(包含在“bundle”或“savedInstanceState”中)是从哪里来的?它在哪里产生? – matteventu

+0

@matteventu:它由框架本身传递给活动。 – Giorgi

+0

再次感谢^ _ ^ – matteventu

相关问题