将keyEvent逻辑合并到通用子例程中

问题描述

在活动的onCreate部分中,我具有以下逻辑:

//紧随其后的是第一个编辑文本的调用

        edt_team1.setonKeyListener(View.OnKeyListener { v,keyCode,event ->
            if (keyCode == KeyEvent.KEYCODE_ENTER && event.action == KeyEvent.ACTION_UP) {
                myEnter(edt_team1,edt_team2)
                return@OnKeyListener true
            }
            false
        })

//接下来是第二个编辑文本的调用

        edt_team2.setonKeyListener(View.OnKeyListener { v,event ->
            if (keyCode == KeyEvent.KEYCODE_ENTER && event.action == KeyEvent.ACTION_UP) {
                myEnter(edt_team2,btn_compare_teams)
                return@OnKeyListener true
            }
            false
        })

然后myEnter函数如下所示:

    //    //  Handle ENTER key
    fun myEnter(editTextView: View,theNextView: View) {
        Toast.makeText(this,"${editTextView.id} \n This is ENTER key!",Toast.LENGTH_LONG)
            .show()
        theNextView.requestFocus()
        theNextView.callOnClick()
    }

我没有足够的Kotlin语法知识,无法将两个GIANT onKeyListenerskeyEvent条件完全合并到称为myEnter的通用子例程中。我希望所有逻辑都放在myEnter内部,并且只对两个myEnteredt_team1这两个edittext字段分别调用edt_team2

请提供我做这样一个复杂的公用子例程所缺少的知识,以便使两个调用很简单,并且所有的复杂性都在公用区域中,而不是像我上面所重复的那样重复两次。 ts

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)