【问题标题】:Button clicks Xamarin Android project only working once按钮单击 Xamarin Android 项目只工作一次
【发布时间】:2018-02-06 15:47:49
【问题描述】:

我在 Xamarin for Android 上创建了一个项目,但我的按钮有问题。它们在第一次单击时工作得很好,但当我再次单击它们时似乎崩溃了(例如多次登录尝试)。

我用来创建这个点击事件的代码是这样的:

 loginClick.Click += async (sender, e) =>
        {
         // CODE THAT DOES WORK
         loginClick.SetOnClickListener(this);
        }

我在名为 OnClick 的类文件中有这个函数,它是空的,看起来像这样:

如果我没有该功能,我将无法实现按钮所需的 OnClickListener 视图。但是,当我单击按钮进入我为它创建的单击功能时(在 OnCreate 功能内)。当我再次单击该按钮时,它会进入这个 OnClick 函数,而不是我创建的那个。

有人知道为什么会发生这种情况以及我该如何解决吗?

谢谢,

【问题讨论】:

    标签: c# android xamarin mobile xamarin.android


    【解决方案1】:

    将 EventHander 用于 Android 视图 Click 的 Xamarin/C# 规范化在内部使用了一个侦听器,因此通过使用 C# EventHander 开始,然后在该事件中添加一个 OnClickListener,您将破坏该事件的听众。使用其中一种,但不能同时使用

    button = FindViewById<Button>(Resource.Id.myButton);
    button.SetOnClickListener(this);
    

    或者

    button = FindViewById<Button>(Resource.Id.myButton);
    button.Click += delegate
    {
       ~~~~
    }
    

    【讨论】:

    • 所以当我使用委托时我不需要设置 onclicklistener?
    • @broliverparker 正确,一种或另一种,不能两者兼而有之
    • @broliverparker 没问题,很高兴它有帮助?
    猜你喜欢
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多