0

我有一个 EditText 和一个 CheckBox。EditText 只有一个 inputStyle 数字。在 EditText 中输入值 0 时,我希望 CheckBox 被禁用。但如果输入的值大于 0,则应启用 CheckBox。检查应该即时完成,因此在输入时和输入每个字符后都应该进行检查。我遇到了afterTextChanged,但我无法让它工作,有人可以在这里帮助我吗?

public class AddBuilding extends Activity implements TextWatcher {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.building);

       myEditText.addTextChangedListener(new TextWatcher() {

        @Override
        public void afterTextChanged(Editable s) {
            if (Integer.parseInt(myEditText.getText().toString()) < 0)
                myCheckBox.setEnabled(false);
            else
                myCheckBox.setEnabled(true);

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before,
                int count) {
            // TODO Auto-generated method stub

        }
    });
4

2 回答 2

2

尝试使用 not myEditText.getText().toString()buts.toString()

于 2013-06-15T21:52:30.630 回答
0

如果你的 afterTextChanged 方法真的在你的 onCreate 方法中,那么它的作用域是错误的,它永远不会被调用。

于 2013-06-15T21:50:35.787 回答