如何在选中CheckBox后专注于EditText?

时间:2016-08-02 08:43:04

标签: android checkbox android-edittext

当用户启动应用时,我不想让用户在EditText中进行修改。现在我想要的是当用户点击CheckBox然后用户能够编辑EditText但下面是我的代码时,当我选中复选框时它没有给予焦点。我怎么能实现这个目标呢?

cbIsGap.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked) {

                    editText1.setFocusable(true);
                    editText1.setClickable(true);
                    editText2.setClickable(true);
                    editText2.setFocusable(true);


                }else {


                    editText1.setFocusable(false);
                    editText1.setClickable(false);
                    editText2.setFocusable(false);
                    editText2.setClickable(false);

                }
            }
        });

4 个答案:

答案 0 :(得分:1)

$Mailbox = ProcessEmail ($Mailbox) ($FullEmail)
$collection += $Mailbox

答案 1 :(得分:0)

检查CheckBox时尝试此操作

txtMobile.requestFocus();

答案 2 :(得分:0)

你应该使用EditText.requestFocus(); MethodManager inputManager =(InputMethodManager)editText.getContext()。getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText,0);

答案 3 :(得分:0)

根据我对复选框的使用经验,与checkedChangeListener相比,onClickListener提供了可靠的结果。所以我建议像这样使用clickListener

checkBox.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               if(checkbox.isChecked())
    {
    txtConsAcNo.setFocusable(true);
                    txtConsAcNo.setClickable(true);
                    txtMeterSrMo.setClickable(true);
                    txtMobile.setFocusable(true);
    }else{
                    txtConsAcNo.setFocusable(false);
                    txtConsAcNo.setClickable(false);
                    txtMeterSrMo.setFocusable(false);
                    txtMeterSrMo.setClickable(false);
    }
            }
        });