textwatcher应该工作,当用户点击一个按钮,android

时间:2013-10-02 12:01:50

标签: android textwatcher

我喜欢在按钮点击内有edit_text的文本观察器。文本观察器应仅在单击按钮时起作用。我在按钮单击中使用了文本观察器代码。但它没有那样工作,它会在编辑文本发生变化时触发。我也尝试了以下代码。也不起作用。

edt_zip.setImeOptions(EditorInfo.IME_ACTION_DONE);

                    edt_zip.setOnEditorActionListener(new TextView.OnEditorActionListener() {
                        @Override
                        public boolean onEditorAction(TextView v, int actionId,
                                KeyEvent event) {
                            if (actionId == EditorInfo.IME_ACTION_DONE) {
                                if (btn_update_reader.getText().toString()
                                        .equals("CANCEL UPDATE")) {
                                    btn_update_reader.setText("UPDATE READER");
                                }
                                return true;
                            }
                            return false;
                        }
                    });

1 个答案:

答案 0 :(得分:1)

创建一个布尔变量来存储文本编辑状态,该状态在用户单击按钮时被修改(true / false)。使用布尔值来阻止TextWatch触发。 IE:

private lTextWatcherOn = false;  // set in button.OnClick()
public void onTextChanged(CharSequence s, int start, int before, int count) {
        if (lTextWatchOn) {
              // do what is needed
        }
    }