如何以编程方式使textinputedittext可编辑和不可编辑

时间:2019-05-09 04:58:30

标签: android android-textinputedittext

我目前在TextInputLayout中使用TextInputEditText。并希望以编程方式控制可编辑性。单击按钮使其可编辑,单击另一个按钮则不可编辑。

  deliveryQuantityTie.setFocusable(false);

设置焦点false使其不可编辑,但是将设置焦点true使其不可编辑。 我还尝试过切换clickable,cursor visible,setkeylistener,没有任何东西使其可再次编辑。

我应该使用什么使它在Java代码中可编辑和不可编辑?

3 个答案:

答案 0 :(得分:2)

将您的editText属性setFocusable(truesetEnabled(true)设置为true使其可编辑,即可解决您的问题

答案 1 :(得分:0)

您可以使用

fragmentRegistrationFirstScreenBinding.etName.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus){
                make editable and let user edit them
            }else {
                do not make editable
            }
        }
    });

答案 2 :(得分:0)

使用setEnable(boolean)

如何禁用?

The expression for an alarm must include at least one metric.

结果:已禁用

enter image description here

如何再次启用?

TextInputEditText tie = findViewById(R.id.my_textInputEditText);
tie.setEnabled(false);

结果:已启用

enter image description here