2016-04-23 6 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アイテム、Activity、Add)自動的にXamarinによって生成されたコードが異なるivity:
code_2

注:
base.OnCreate(savedInstanceState);

はなぜ "バンドル" は "savedInstanceState" に置き換えられ
protected override void OnCreate(Bundle savedInstanceState)
と?アクティビティ1に「バンドル」を入れた場合、またはその逆の場合はどうなりますか?

おかげで誰もが私を助けることができます、そして、もしそれが愚かな質問であればごめんなさい。

+0

画像としてコードを投稿しないでください。 – Jason

+0

ちょうど名前!!! –

答えて

0

bundleおよびsavedInstanceStateはパラメータの名前に過ぎないので、違いはありません。 C#ではパラメータ名は関係ありません。ここで

OnCreateメソッドに渡されXamarin documentationからのパラメータの説明です:活動は以前にダウン をシャットされた後に再初期化されている場合は

、このバンドルは、それが最近供給されたデータが含まれています Activity.OnSaveInstanceState(バンドル)。注:それ以外の場合はnullです。

+0

ありがとうございますが、このパラメータ( "bundle"または "savedInstanceState"に含まれるもの)はどこから来ますか?それはどこに生成されますか? – matteventu

+0

@matteventu:それはフレームワーク自体によってアクティビティに渡されます。 – Giorgi

+0

もう一度ありがとう^ _ ^ – matteventu