安卓按钮上的点击事件(只绑定一次)
问题描述:
我有一个Xamarin Android项目,需要绑定Click事件一次。例如,我有一个活动按钮:安卓按钮上的点击事件(只绑定一次)
button = FindViewById<Button>(Resource.Id.button);
button.Click += buttonClick;
,其中按钮是一个全局变量:private Button button;
我已经测试检查Click事件是空的,但它只能出现在一个委托的左侧(+ =)。一些想法?
提前致谢!
答
如果我正确地理解你的问题,你有一个gloval按钮,您要订阅特定活动/片段的点击事件,那么你需要像这样定义这个按钮:
public static Button button;
一全局按钮不应该像private Button button
那样定义。
,你已经注册了事件处理程序,你可能要当你离开这个活动/片段退订此单击事件处理程序,你可以取消它在你活动的OnStop
生命周期是这样的:
protected override void OnStop()
{
base.OnStop();
button.Click -= buttonClick;
}
+0
是的,就像这样!我认为在方法OnPause()也是必要的。非常感谢! – user3535054
是什么那? 'button.Click'?类“android.widget.Button”没有任何“Click”类或属性。它应该给你一个编译时错误。 – GVillani82
在此之前,我得到了他的看法:button = FindViewById
而Click是一个视图的EventHandler – user3535054