如何在Android中使用Java设置可编辑的EditText?



在我的应用程序中,我有一个EditText和一个Switch(视图(,但我希望如果开关关闭EditText不可编辑。此外,当开关打开时,EditText应该是可编辑的。

我的交换机侦听器:

infoSerialFrag_rememberSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
if (isChecked) {
isRemember = true;
} else {
isRemember = false;
}
}
});

我该怎么做?

infoSerialFrag_rememberSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
if (isChecked) {
isRemember = true;
editText.setFilters(new InputFilter[] {
new InputFilter() {
public CharSequence filter(CharSequence src, int start, int end, Spanned dst, int dstart, int dend) {
return src.length() < 1 ? dst.subSequence(dstart, dend) : "";
}
}
});
} else {
isRemember = false;
editText.setFilters(new InputFilter[] {});
}
}
});

试试这个代码:

infoSerialFrag_rememberSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
if (isChecked) {
isRemember = true;
} else {
isRemember = false;
}
if (isRemember) {
infoSerialFrag_rememberSwitchText.setFocusableInTouchMode(true);
} else {
infoSerialFrag_rememberSwitchText.setFocusable(false);
}
}
});
} else {
hideView(infoSerialFrag_rememberSwitch);
}
if (isRemember) {
infoSerialFrag_rememberSwitchText.setFocusableInTouchMode(true);
} else {
infoSerialFrag_rememberSwitchText.setFocusable(false);
}

最新更新