Android中的“savedInstanceState”和“bundle”与Xamarin的区别?

时间:2016-04-23 20:11:53

标签: c# android xamarin

我开始使用Xamarin,我已经看过教程,并通过互联网查看这个问题的具体答案,但没有幸运。

这是问题所在。

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

请注意以下代码:
protected override void OnCreate(Bundle bundle)

base.OnCreate(bundle);

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

注意:
protected override void OnCreate(Bundle savedInstanceState)

base.OnCreate(savedInstanceState);

为什么“bundle”被“savedInstanceState”取代?如果我将“bundle”放在Activity1中,反之亦然,会有什么变化?

非常感谢任何人可以帮助我,如果这似乎是一个愚蠢的问题,那就很抱歉。

1 个答案:

答案 0 :(得分:0)

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

以下是Xamarin documentation传递给OnCreate方法的参数说明:

  

如果在之前关闭之后重新初始化活动   然后这个Bundle包含它最近提供的数据   Activity.OnSaveInstanceState(捆绑)。注意:否则为空。