EditText TextChangeListener问题

时间:2011-03-30 06:00:00

标签: android android-edittext

我有一个用于搜索目的的编辑文本。我添加了

searchET.addTextChangedListener(new TextWatcher() {

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

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

            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub
                //intent to another page where i show my search result
            }
        });

问题是: 当我为例如:“fort”提供搜索字符串时,我会在下一页中获得所需的结果。但是当我按下后退按钮时,它不会在第一次点击时移动到上一页。我将不得不按回按钮4次以转到上一页。这是因为我的搜索字符串长度为4,每次在edittext中输入值时,都会调用textchangelistener。我该如何解决这个问题?请回复。提前谢谢。

2 个答案:

答案 0 :(得分:2)

根据您的需要,您可以根据某些条件转到下一页。例如,启动计时器,如果在计时器到期之前调用afterTextChanged,则重置计时器。或者,您可以使用“搜索”按钮,用户明确表示他已完成输入单词。

如果您可以分享所需的行为,可以建议更好的替代方案。

答案 1 :(得分:0)

实际上,当您想要决定文本何时结束时,没有必要包含addTextChangedListener。要改进用户界面,您可以将此按钮添加到您的编辑文本中。请参阅:edittext with view