无法在 Kotlin Android 中以编程方式禁用 EditText。

12

我正在尝试在Kotlin中以编程方式禁用EditText,但是我没有找到任何可用的方法。 我尝试了下面的代码,但没有成功:

```kotlin editText.isEnabled = false ```

请问如何以编程方式禁用EditText

panEditText.focusable = false //Requires API 26 and above.

panEditText.enabled = false //No such method found

如何在 Kotlin 编程语言中禁用 EditText


禁用是指您想拒绝用户输入还是只是将其从视图中隐藏?如果您想要隐藏它,那么panEditText.visibility=view.INVISIBLE。 - udit7395
禁止用户输入值 @udit7395 - sagar suri
1
setEnabled 在 Kotlin 中确实无法访问,但我不知道原因。 - Samuel Eminet
1
使用 isEnabled 而不是 enabled。 - vivek verma
1个回答

24

你应该使用isEnabled

设置此视图的启用状态。

 panEditText.isEnabled =false

方法概述

@android.view.RemotableViewMethod
    @Override
    public void setEnabled(boolean enabled) {
        if (enabled == isEnabled()) {
            return;
        }

        if (!enabled) {
            // Hide the soft input if the currently active TextView is disabled
            InputMethodManager imm = InputMethodManager.peekInstance();
            if (imm != null && imm.isActive(this)) {
                imm.hideSoftInputFromWindow(getWindowToken(), 0);
            }
        }

        super.setEnabled(enabled);

        if (enabled) {
            // Make sure IME is updated with current editor info.
            InputMethodManager imm = InputMethodManager.peekInstance();
            if (imm != null) imm.restartInput(this);
        }

        // Will change text color
        if (mEditor != null) {
            mEditor.invalidateTextDisplayList();
            mEditor.prepareCursorControllers();

            // start or stop the cursor blinking as appropriate
            mEditor.makeBlink();
        }
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接