xamarin.androidで配列データを別アクティビティに渡すことは可能でしょうか。
値を渡す方法としてよく紹介されている方法は、下記のようにParcelableを実装するようですが、これでは変数を1つ1つ渡さなければいけず、
配列で渡すことはできないかと試したのですが配列の場合 source.ReadString(); をどのように変更するとよいのかがわかりません。
public Card(string name, string phone) { this.Name = name; this.Phone = phone; } #region IParcelable implementation public int DescribeContents() { return 0; } public void WriteToParcel(Parcel dest, ParcelableWriteFlags flags) { dest.WriteString(this.Name); dest.WriteString(this.Phone); } #endregion [ExportField("CREATOR")] public static IParcelableCreator GetCreator() { return new MyParcelableCreator(); } // Parcelable.Creator の代わり class MyParcelableCreator : Java.Lang.Object, IParcelableCreator { #region IParcelableCreator implementation Java.Lang.Object IParcelableCreator.CreateFromParcel(Parcel source) { var name = source.ReadString(); var phone = source.ReadString(); return new Card(name, phone); } Java.Lang.Object[] IParcelableCreator.NewArray(int size) { return new Java.Lang.Object[size]; } #endregion } } } ```
追記
下記コードにて連想配列を渡そうとすると画像のようなエラーがintent.PutExtra("mydata", mydata); の箇所でてしまいますが、連想配列を渡すことは可能なのでしょうか。
Dictionary<string, string> mydata = new Dictionary<string, string>(); mydata.Add("lang", lang); var intent = new Intent(this, typeof(OilTypeActivity)); intent.PutExtra("mydata", mydata); StartActivity(intent);
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/13 23:02
2018/05/13 23:15