Работя с Monotouch.Dialog и се натъквам на тази грешка:
The RootElement's Group is null or is not a RadioGroup
Кодът, с който работя, е както следва, добавих коментари, които ви казват състоянието на променливите:
var groupSortChoices = new RadioGroup("S", Extensions.GetValues<PeopleDirectoryGroupSortEnum>().IndexOfItem (i => i.Element == Extensions.GetValue<PeopleDirectoryGroupSortEnum>(Options.GroupAndSort)).Value);
// new RadioGroup("S", 0)
var nameDisplayChoices = new RadioGroup("N", Extensions.GetValues<PeopleDirectoryNameDisplayEnum>().IndexOfItem (i => i.Element == Extensions.GetValue<PeopleDirectoryNameDisplayEnum>(Options.NameDisplay)).Value);
// new RadioGroup("N", 0)
var gsElems = Extensions.GetValues<PeopleDirectoryGroupSortEnum>()
.Select(e => new RadioElement(e, "S"))
.ToArray();
// String[4] array of this enum's values
var ndElems = Extensions.GetValues<PeopleDirectoryNameDisplayEnum>()
.Select(e => new RadioElement(e, "N"))
.ToArray();
// String[2] array of this enum's values
groupSortElement = new RootElement("Grouping and Sorting", groupSortChoices)
{
new Section("Grouping and Sorting")
{
gsElems
},
};
nameDisplayElement = new RootElement("Name Display", nameDisplayChoices)
{
new Section("Name Display")
{
ndElems
}
};
var root = new RootElement("Directory Options")
{
groupSortElement,
nameDisplayElement
};
this.Root = root;
Разбих този код, за да се опитам да го отстраня. Грешката определено идва от groupSortElement и nameDisplayElement. Опитах да инициализирам групите си без да използвам "S" и "N" и все още получавам същата грешка. Правил съм това няколко пъти преди и за живота си не мога да разбера какво правя погрешно. Някакви идеи? Двете RadioGroups не са null и ако коментирам groupSortElement и nameDisplayElement, се появява празен изглед, който ми казва, че има нещо общо с тези елементи.