1

我需要根据微调器值更改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变成总是不可编辑的字段,它不会改变它的状态

4

3 回答 3

1

试试这个代码。它有效

private KeyListener listener;
listener = et_award_points.getKeyListener();
et_award_points.setKeyListener(listener);
于 2013-07-30T11:52:18.917 回答
1

用于editTextInstance.setEnabled(true)使其可编辑, editTextInstance.setEnabled(false)禁用

于 2013-07-30T08:14:41.327 回答
0

将您的按钮更改为 ToggleButton 并实现此代码,这应该是我认为的最佳解决方案

button.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            editText.setEnabled(isChecked);
        }
    });
于 2013-07-30T08:20:19.243 回答