c# - 匿名事件

标签 c# java xamarin.android

我一直坚持为 Android 编写 C# Mono,等效于以下 Java 事件处理程序代码:

public class Player extends ListActivity
{
    private ImageView list;//basically this is a buttona

    private void SetupButtonListeners()
    {
        list.setOnClickListener(new OnClickListener()
        {
             public void onClick(View v)
             {
                  //do stuff
             }
        });
    }
    /*
       more stuff here
    */
}

API 引用号:http://androidapi.xamarin.com/?link=T%3aAndroid.Widget.Button

最佳答案

虽然您可以设置点击监听器,如其他答案所示,类似于在 Java 中的做法,但这不是在 Mono for Android 中做事的首选方式。由于 C# 没有匿名类定义,Android 的 Mono 实际上将这些监听器接口(interface)转换为事件,这导致了更好的 API。例如,在这种情况下,您可以使用 Click出现在任何 View 类上的事件:

ListView list;

list.Click += delegate(object sender, EventArgs e)
                      {
                          // do stuff
                      };

关于c# - 匿名事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12274549/

相关文章:

c# - 如何使用 Massive ORM 实现验证?

C# 语言设计 : method group inside `is` operator

java - 葫芦-android : Touch fails due to "No elements found" but element was found

c# - MonoDroid 值得付出努力吗?

C# 安卓 : Get Broadcast Receiver on a service?

android - 运行 XamarinStore.Droid 时无法加载程序集 'Newtonsoft.Json'

c# - url重写影响其他链接

c# - 获取文件的相对路径 C#

java - 使用反射获取具有原始类型参数的类方法

java - 由于无限循环导致 AspectJ 堆栈溢出错误