Java 调用EditText';s onClick事件,当单击它所在的布局内部时

Java 调用EditText';s onClick事件,当单击它所在的布局内部时,java,android-studio,kotlin,Java,Android Studio,Kotlin,我已经编写了一个自定义布局,由线性布局、TextView、EditBox和另一个TextView组成。我想做的是,当我单击布局上的任何位置(可能是编辑框或TextView)时,调用EditText的onClick事件。通过设置布局的onClickListener,我可以获得它的焦点 val customLayout: LinearLayout = findViewById(R.id.custom_layout) customLayout.setOnClickListener {

我已经编写了一个自定义布局,由线性布局、TextView、EditBox和另一个TextView组成。我想做的是,当我单击布局上的任何位置(可能是编辑框或TextView)时,调用EditText的onClick事件。通过设置布局的onClickListener,我可以获得它的焦点

    val customLayout: LinearLayout = findViewById(R.id.custom_layout)
    customLayout.setOnClickListener {
            val editBox : EditBox = findViewById(R.id.edit_box)
            editBox.requestFocus()
        }

但我似乎无法让它显示键盘,以及光标下方的标记。有什么方法可以做到这一点吗?

您实际上并不需要它的
OnClickListener
,您只需要将焦点设置在字段上并显示键盘。您可以使用的文档

fun showSoftKeyboard(view: View) {
    if (view.requestFocus()) {
        val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
        imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT)
    }
}
只需拨打电话并将您的
editBox