EditText TextWatcher在删除时不触发

时间:2014-08-21 10:55:06

标签: android android-edittext textwatcher

我有一个带有TextWatcher的EditText,只要文本发生变化,它就会更新TextView。但是,如果我从中删除文本,它不会触发afterTextChanged方法。为什么?我怎么能这样做呢

    final EditText workmiles = (EditText) v.findViewById(R.id.workmiles);
    workmiles.addTextChangedListener(new TextWatcher(){

        public void afterTextChanged(Editable s) {

            int tot = GlobalSingleton.get(getActivity()).getCurrentDay().getTotalMins();

            if (!workmiles.getText().toString().equals("")){
                tot +=  Integer.parseInt(workmiles.getText().toString()) * 2;
                GlobalSingleton.get(getActivity()).getCurrentDay().setWorkmiles(Integer.parseInt(workmiles.getText().toString()));
            }

            int hours = tot / 60;
            int mins = tot % 60;
            total.setText(hours + "  hours  " + mins + "  mins");
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,int after) {}

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {}
    });

2 个答案:

答案 0 :(得分:1)

如果您觉得 afterTextChanged 未被触发,请将Log放入此mehtod .. 如果你想在工作里程(EditText)中更改文本时想要生效,那么把代码放在 onTextChanged 这个方法

答案 1 :(得分:0)

啊,我遇到了同样的问题,并且发现我正在尝试调试一个空的方法体。只需放置一个语句(Log)并在那里放一个断点即可。