Следующий код из части C# моего приложения Mono для Android. В конечном итоге это будет графический интерфейс для мультиметра, но прямо сейчас отображается текст. Это довольно прямолинейно:Изменение экрана кнопки в Android Mono с использованием делегатов
-Нажмите одну из кнопок, чтобы перейти к этому счетчику (вольтметр, амперметр, омметр) -Нажмите кнопку «повторного сканирования», а TextView сообщит вам, сколько раз вы нажимали эту кнопку , -Нажмите одну из других кнопок счетчика или кнопку дома, чтобы переключать виды
Это работает безупречно. К сожалению, когда я переключаю виды, кнопки перестают работать. Ниже приведен код кнопки Ohm и кнопки Amp. Кнопка «Ом» - это «полная», которая отображает все остальные экраны. В целях тестирования я шел на экран усилителя, но когда я туда, его кнопка повторного сканирования ничего не делает. Ни одна из кнопок ничего не делает.
Я довольно уверен, что вопрос моего использование делегатом команд , но ни один из моих исследований не привела меня никак к решению.
Я могу предоставить больше основного кода и кода XML, если это необходимо.
ampButton.Click += delegate
{
SetContentView(Resource.Layout.AmpScreen);
Button ampButtonData = FindViewById<Button>(Resource.Id.CurrentButtonamp);
TextView ampData = FindViewById<TextView>(Resource.Id.ampdata);
ampButtonData.Click += delegate
{
ampData.Text = string.Format("{0} clicks!", count2++);
};
Button amp2volt = FindViewById<Button>(Resource.Id.Amp2VoltButton);
Button amp2ohm = FindViewById<Button>(Resource.Id.Amp2OhmButton);
Button amp2home = FindViewById<Button>(Resource.Id.Amp2HomeButton);
};
ohmButton.Click += delegate
{
SetContentView(Resource.Layout.OhmScreen);
Button ohmButtonData = FindViewById<Button>(Resource.Id.CurrentButtonohm);
TextView ohmData = FindViewById<TextView>(Resource.Id.ohmdata);
ohmButtonData.Click += delegate
{
ohmData.Text = string.Format("{0} clicks!", count3++);
};
Button ohm2amp = FindViewById<Button>(Resource.Id.Ohm2AmpButton);
Button ohm2volt = FindViewById<Button>(Resource.Id.Ohm2VoltButton);
Button ohm2home = FindViewById<Button>(Resource.Id.Ohm2HomeButton);
ohm2amp.Click += delegate
{
SetContentView(Resource.Layout.AmpScreen);
};
ohm2volt.Click += delegate
{
SetContentView(Resource.Layout.VoltScreen);
};
ohm2home.Click += delegate
{
SetContentView(Resource.Layout.Main);
};
};
Большое спасибо Стюарту. Я сделал ваши предложенные изменения и осуществил несколько пробных испытаний и был доволен их успехом. Весь мой GUI теперь завершен с точки зрения получения общей структуры. – Zach