以编程方式聚焦编辑文本 (Kotlin)

M.I*_*M.I 3 android android-edittext kotlin

我有一个createEditText函数可以创建一个EditText并将其添加到视图中。我的问题是,一旦将其添加到视图中,用户必须点击EditText才能调用键盘并进行编辑。我想要做的是让它一旦EditText创建,用户就会自动进入编辑模式。

在 IOS 编程中,有一个被调用的函数becomeFirstResponder()可以实现这一点。android 等价物是什么?

我尝试过的事情:

myEditText.requestFocus()
myEditText.isActivated
myEditText.isFocused
myEditText.isSelected
myEditText.isEnabled
Run Code Online (Sandbox Code Playgroud)

reV*_*rse 5

不幸的是,仅调用EditText#requestFocus. 除此之外,您还必须调用InputMethodManager#showSoftInput. 以下实用方法应该有效:

fun openSoftKeyboard(context: Context, view: View) {
    view.requestFocus()
    // open the soft keyboard
    val imm = context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
    imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT)
}
Run Code Online (Sandbox Code Playgroud)