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

Yonglun Liu (Shanghai Wicresoft Co,.Ltd.) 37,191 信誉分 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

Xamarin
Xamarin
用于使用 .NET 和 C# 构建 Android 和 iOS 应用的 Microsoft 开源应用平台。
10 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Leon Lu (Shanghai Wicresoft Co,.Ltd.) 69,921 信誉分 Microsoft 供应商
    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 个其他答案

排序依据: 非常有帮助