在textview中键入时更新字符串列表

时间:2014-07-31 20:29:39

标签: android textview textwatcher

我需要从服务器读取字符串列表,该列表将被提供给适配器,以便在用户输入时在autocompletetextview中搜索建议。为了看看如何方便地使用textchangelistener,我写了这个:

TextWatcher tw
= new TextWatcher() {

    @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

    }

    @Override
    public void afterTextChanged(Editable s) {
        // TODO Auto-generated method stub
        Toast.makeText(getBaseContext(), "text has changed!", Toast.LENGTH_LONG).show();
        // getlist() <-- this calls an AsyncTask instance
    }

};

正如预期的那样,当我输入qwerty软键盘时,每次按下一个键时都会显示Toast消息,这是正常的。但是,如果用户有一个软键盘,你必须按两次或三次相同的键来写一个确定的字母,例如,如果你想要一个'c',你必须按三次“2”键。我尝试了上面的代码,显然消息显示了三次,但每个新提交的字母只需要一次,请记住最终评论的asyncstask对象可以在那里工作,这是耗电的任务。一些建议?

0 个答案:

没有答案