2016-04-23 101 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

相關問題