我需要根据微调器值更改edittext
它适用于keylistener(null)
非可编辑但我无法将其恢复,因为焦点不应该从edittext中删除我不使用此setEnabled
方法
我正在使用此代码
sp_card.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View arg1,
final int pos, long arg3) {
if (filteredCardsList.get(pos).awardPointsRatio != null
&& filteredCardsList.get(pos).awardPointsRatio == 0.0) {
et_award_points.setText("");
et_award_points.setHint("No ratio is available");
et_award_points.setKeyListener(et_award_points
.getKeyListener());
} else {
et_award_points.setKeyListener(null);
}
}
public void onNothingSelected(AdapterView<?> arg0) {
}
});
此处et_award_points
始终变为不可编辑的字段,而不会更改为其状态
答案 0 :(得分:1)
使用editTextInstance.setEnabled(true)
使其可编辑,editTextInstance.setEnabled(false)
禁用
答案 1 :(得分:1)
试试这个代码。它有效。
private KeyListener listener;
listener = et_award_points.getKeyListener();
et_award_points.setKeyListener(listener);
答案 2 :(得分:0)
将按钮更改为ToggleButton并实现此代码,这应该是我认为最好的解决方案
button.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
editText.setEnabled(isChecked);
}
});