如何处理EditText中完成按钮的点击事件

Yonglun Liu (Shanghai Wicresoft Co,.Ltd.) 50,156 信誉分 Microsoft 外部员工
2024-02-01T09:24:26.5833333+00:00

在Xamarin Android中,我尝试处理EditText的虚拟键盘上的"完成"按钮,我用了下面的代码

edittext.KeyPress += Edittext_KeyPress;
private void Edittext_KeyPress(object sender, View.KeyEventArgs e) {
 
 }

我如何知道是否单击了“完成”按钮?

注意:此问题总结整理于:How to handle the "done" ime button in edit text; - Microsoft Q&A

开发人员技术
开发人员技术
用于软件开发的 Microsoft 工具、语言和框架的广泛类别。 旨在支持开发人员跨各种平台生成、调试和部署应用程序。
0 个注释 无注释
{count} 票

问题作者接受的答案
  1. 匿名
    2024-02-01T09:30:30.35+00:00

    你好,

    您可以通过设置 SetOnEditorActionListener 来完成此操作。

    editText1.SetOnEditorActionListener(new OnEditorActionListener(editText1));
    

    然后你可以实现TextView.IOnEditorActionListener接口,通过actionId==ImeAction.Done来检测完成按钮的点击事件。 注意:如果您已使用 OnEditorAction 中的操作,则会返回 true,否则返回 false。

    internal class OnEditorActionListener : Java.Lang.Object, TextView.IOnEditorActionListener
    {
        private EditText editText1;
    
    
       public OnEditorActionListener(EditText editText1)
        {
            this.editText1 = editText1;
        }
    
    
       public bool OnEditorAction(TextView v, [GeneratedEnum] ImeAction actionId, KeyEvent e)
        {
            if( actionId== ImeAction.Done)
            {
                Console.WriteLine("Done");
            }
            return false;
        }
    }
    
    

    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

提问者可以将答案标记为“已接受”,版主可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。