【问题标题】:EditView perform an action on clickEditView 在单击时执行操作
【发布时间】:2013-08-13 21:14:41
【问题描述】:

我有一个EditView,我已经添加了:

android:imeActionLabel="Go"

这在键盘上显示“开始”按钮,但我不知道当用户单击“开始”按钮时如何执行操作。

有什么解决办法吗,如果有,我该怎么办?

【问题讨论】:

    标签: java android xml editview


    【解决方案1】:

    EditText.OnEditorActionListener 是您正在寻找的,API 文档可以在here 找到。将为 GO 按钮调用的操作是 EditorInfo.IME_ACTION_GO。我在下面提供了一个简短的示例。

    editText.setOnEditorActionListener(new OnEditorActionListener()
    {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
            {
                if(actionId==EditorInfo.IME_ACTION_GO)
                {
                        //Handle go button pressed
                }
                return false;
            }
    });
    

    【讨论】:

    • 它在OnEditorActionListener() 显示此错误:类型 new TextView.OnEditorActionListener(){} 必须实现继承的抽象方法 TextView.OnEditorActionListener.onEditorAction(TextView, int, KeyEvent)
    • 是的,您必须实现我上面的方法(onEditorAction),即覆盖的方法。如果您复制上面的代码并将“editText”更改为您的 EditText 的名称,它将按预期工作。或者,如果你有多个类并且它们是静态的,你可以让你正在编写的类实现 OnEditorActionListener。
    • 我已在此处添加了所有代码:jsfiddle.net/enve/s8n8s。请检查我做错了什么。
    • jsfiddle.net/s8n8s/2 修复了您的问题。如果它仍然不起作用,则问题与 onEditorActionListener 的创建无关
    • 它没有显示任何错误,但也没有添加绿色。我在这里添加了 EditText:jsfiddle.net/enve/s8n8s/3
    猜你喜欢
    • 2016-03-26
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多