首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法正确执行OnKeyListener

无法正确执行OnKeyListener
EN

Stack Overflow用户
提问于 2018-04-02 07:16:16
回答 1查看 213关注 0票数 3

我想在将文本输入编辑文本之后应用少量的数字验证,我尝试使用TextWatcher进行验证,但是它只在高版本上正常工作,而不是在较低版本中工作。

因此,我想使用OnKeyListener事件。但这也是行不通的。

代码语言:javascript
复制
start_time_edit.setOnKeyListener(onSoftKeyboardDonePress);

private View.OnKeyListener onSoftKeyboardDonePress=new View.OnKeyListener()
{
    public boolean onKey(View v, int keyCode, KeyEvent event)
    {

        if (event.getKeyCode() == KeyEvent.ACTION_DOWN)
        {
            Toast.makeText(CreateTimesheet.this, "checking event", Toast.LENGTH_LONG).show();
        }

        return false;
    }
};

它从不进入If语句,因为这两个值都不匹配。

我该怎么办?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-02 07:28:29

您还可以在setOnEditorActionListener上使用setOnKeyListener而不是setOnKeyListener。

这是示例代码,请试试看。

代码语言:javascript
复制
start_time_edit.setImeActionLabel("Next", KeyEvent.KEYCODE_ENTER);
start_time_edit.setOnEditorActionListener(new TextView.OnEditorActionListener() {

            @Override
            public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event) {
                if ((event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
                    Toast.makeText(CreateTimesheet.this, "checking event", Toast.LENGTH_LONG).show();
                }
                return false;
            }
        });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49606921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档