je dois sauver tableau d'objet en paquet, voici ce que je faisais:Xamarin bundle Android mis tableau parcelable
créer la classe ce qui est implémentant l'interface IParcable:
public class SimpleSelectorItem : Java.Lang.Object, Android.OS.IParcelable
{
public int Id { get; set; }
public string Name { get; set; }
public bool Selected { get; set; }
IntPtr IJavaObject.Handle { get { return IntPtr.Zero; } }
public int DescribeContents()
{
return 0;
}
public SimpleSelectorItem()
{
}
public SimpleSelectorItem(int id, string name)
{
Id = id;
Name = name;
}
public SimpleSelectorItem(Parcel parcel)
{
Id = parcel.ReadInt();
Name = parcel.ReadString();
}
public void WriteToParcel(Parcel dest, [GeneratedEnum] ParcelableWriteFlags flags)
{
dest.WriteInt(Id);
dest.WriteString(Name);
}
static readonly GenericParcelableCreator<SimpleSelectorItem> _creator
= new GenericParcelableCreator<SimpleSelectorItem>((parcel) => new SimpleSelectorItem(parcel));
[ExportField("CREATOR")]
public static GenericParcelableCreator<SimpleSelectorItem> GetCreator()
{
return _creator;
}
}
quand je crée exemple de mon fragment, en essayant de mettre ensemble de SimpleSelectorItem en bundle:
var items = _viewModel.GetEmployees().Select(l => new SimpleSelectorItem(l.Id, l.LegalName)).ToArray();
....
args.PutParcelableArray(ITEMS, items);
Mais quand je suis en train de revenir ce tableau, il est un tableau de valeurs nulles ..
var items = Arguments.GetParcelableArray(ITEMS);
Voici application de démonstration, il jette exception alors que je suis en train de jeter les articles: https://github.com/Nininea/XamarinAndroidPutParcelableArray
J'ai fait une démonstration de base avec le saut entre les activités avec les données paquet, mais n'a pas reproduit votre problème, pourriez-vous s'il vous plaît fournir une démo de base qui peut reproduire le problème? –
Question mise à jour, j'ai ajouté le lien de l'application de démonstration – Nininea