当用户启动应用时,我不想让用户在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);
}
}
});
答案 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);
}
}
});