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

myEditText.getText().toString()notを使用してみてくださいs.toString()

于 2013-06-15T21:52:30.630 に答える
0

示されているように、 afterTextChanged メソッドが実際に onCreate メソッド内にある場合、スコープが間違っているため、呼び出されることはありません。

于 2013-06-15T21:50:35.787 に答える