1

Java实现了OnClickListener、OnTouchListener这些进程怎么又单声道找不到呢?先感谢您 ...

public class MyClass implements OnClickListener, OnTouchListener {
    @Override
    public boolean onTouch(View v, MotionEvent event) {

        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:

            break;
        case MotionEvent.ACTION_UP:

            break;
        default:

            break;
        }

        return false;
    }

    @Override
    public void onClick(View v) {

    }
}

如何使这个过程成为单声道?

4

1 回答 1

5

将该示例直译为 C# 和 Mono for Android 如下所示:

public class MyClass : Java.Lang.Object, View.IOnClickListener, View.IOnTouchListener
{
    public bool OnTouch(View v, MotionEvent e)
    {
        switch (e.Action)
        {
            case MotionEventActions.Down:
                break;
            case MotionEventActions.Up:
                break;
            default:
                break;
        }

        return false;
    }

    public void OnClick(View v)
    {
    }
}

虽然仍然可以按照 Java 约定以这种方式编写您的应用程序,但在 Mono for Android 中还有更好的方法来实现。在 Java 使用侦听器接口的大多数情况下,Android 的 Mono 实际上会提供一个您可以处理的事件,这更容易使用(并且对 C# 更友好)。在此示例中,您希望处理视图上的TouchClick事件:

view.Touch += (sender, args) =>
              {
                  switch (args.Event.Action)
                  {
                      case MotionEventActions.Down:
                          break;
                      case MotionEventActions.Up:
                          break;
                      default:
                          break;
                  }
              };
view.Click += (sender, args) =>
              {
              };
于 2012-06-07T14:34:58.637 回答