0

我完全不知道在 EditText 控件上为 imeOption 设置“actionSearch”实现动作侦听器。

我已经查看了执行此操作的Android 文档,但在 Mono 中找不到对它的支持。我尝试实现 TextView.IOnEditorActionListener,但找不到要覆盖的 OnEditorAction 方法。

这是我正在尝试使用的代码:

EditText editText = (EditText) findViewById(R.id.search);
editText.setOnEditorActionListener(new OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        boolean handled = false;
        if (actionId == EditorInfo.IME_ACTION_SEND) {
            sendMessage();
            handled = true;
        }
        return handled;
    }
});

一切都很好,直到我尝试设置动作侦听器,我找不到 Mono 中的 OnEditorActionListener ,在它的位置它要求 TextView.IOnEditorActionListener 并且我找不到任何显示您将如何在 Mono 中处理此问题的内容。是不支持此功能,还是有办法在 Mono for Android 应用程序中获得此功能?

感谢您提供的任何帮助。

4

1 回答 1

6

在 Xamarin.Android 中,侦听器被转换为 C# 事件。您发布的 Java 代码在单声道等效项中转换为此:

var ed = FindViewById<EditText>(Resource.Id.search);
ed.EditorAction += (sender, args) =>
    {
        if (args.ActionId == ImeAction.Send)
        {
            SendMessage();
            args.Handled = true;
        }
    };
于 2013-05-01T12:25:24.643 回答