在 CheckBox 的 android onclick 中启用和禁用编辑文本

enable and disable the edittext in android onclick of CheckBox

'

//这是第一个复选框,点击它会启用 f1 & n1

check1=(CheckBox)findViewById(R.id.checkbox1);

//禁用editext1

        f1=(EditText)findViewById(R.id.editTextf1);
         f1.setEnabled(false);
        f1.setInputType(InputType.TYPE_NULL);
        f1.setFocusable(false);
         n1=(EditText)findViewById(R.id.editTextn1);
         n1.setEnabled(false);
        n1.setInputType(InputType.TYPE_NULL);
        n1.setFocusable(false);

//这是第二个复选框,点击它会启用 f2 & n2

        check2=(CheckBox)findViewById(R.id.checkBox2);

//禁用editext2 f2

        f2=(EditText)findViewById(R.id.editTextf2;
        f2.setEnabled(false);
        f2.setInputType(InputType.TYPE_NULL);
        f2.setFocusable(false);

//禁用editext2 n2

        n2=(EditText)findViewById(R.id.editTextn2);
        n2.setEnabled(false);
        n2.setInputType(InputType.TYPE_NULL);
        n2.setFocusable(false);

        btnfinal=(Button)findViewById(R.id.button_final_submission);

//启用editext1 f1 & n1

        if (check1.isChecked()) {
            f1.setEnabled(true);
            f1.setInputType(InputType.TYPE_CLASS_TEXT);
            f1.setFocusable(true);

            n1.setEnabled(true);
            n1.setInputType(InputType.TYPE_CLASS_TEXT);
            nc1.setFocusable(true);


        }

//启用editext1 f2 & n2

        if (check2.isChecked()) {
            f2.setEnabled(true);
            f2.setInputType(InputType.TYPE_CLASS_TEXT);
            f2.setFocusable(true);

            n2.setEnabled(true);
            n2.setInputType(InputType.TYPE_CLASS_TEXT);
            n2.setFocusable(true);


        }**

'

您需要在您的复选框上设置侦听器,然后必须捕获事件,例如何时选中复选框以及何时取消选中以使您的编辑文本按照您 want.Your 当前代码执行的方式工作,并且它不会处理任何未来事件,因为没有注册监听器来捕获事件。 最简单的开始方式是

CheckBox someCheckBox= (CheckBox) findViewById (R.id.someID);
someCheckBox.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
        if (((CheckBox) v).isChecked()) {
                //CODE TO MAKE THE EDITTEXT ENABLED         
        }
        else 
           //CODE TO MAKE THE EDITTEXT DISABLED     

      }
    });

不过也有其他方法可以执行此任务,但您可以立即开始。