我有一个我在Xamarin for Android上创建的项目,我的按钮有问题。它们在第一次点击时工作得非常好,但是当我再次点击它们时似乎崩溃了(例如多次登录尝试)。
我用来创建此点击事件的代码是:
loginClick.Click += async (sender, e) =>
{
// CODE THAT DOES WORK
loginClick.SetOnClickListener(this);
}
我在我的类文件OnMap中有这个函数,它是空的,看起来像这样:
如果我没有该功能,我无法实现我的按钮所需的OnClickListener视图。然而,当我进入我为其创建的单击功能(在OnCreate函数内)时单击按钮。当我再次单击该按钮时,它进入此OnClick功能而不是我创建的那个。
任何人都知道为什么会发生这种情况以及如何解决这个问题?
谢谢,
答案 0 :(得分:5)
对于Android视图使用EventHander的Xamarin / C#规范化Click
在内部使用侦听器,因此首先使用C#EventHander
然后在该事件中添加OnClickListener
,你正在打破这个事件的倾听者。使用其中一个,但不是两个。
button = FindViewById<Button>(Resource.Id.myButton);
button.SetOnClickListener(this);
button = FindViewById<Button>(Resource.Id.myButton);
button.Click += delegate
{
~~~~
}