I am making a search application in android, my searching purpose is that when i type word in edittext then when the textchange, it will jump to select the position of the word that begin with that letter in listview.
This is my code. it work well but the speed of text when i type or delete in edittext seems slow, not smoothly. 
What can i do to make it faster?
I have over 20,000 entries from database.

```
txtword.addTextChangedListener(new TextWatcher() {

@Override
public void onTextChanged(CharSequence s, int start, int before, int count){
    // TODO Auto-generated method stub      
    for(int i =0;i<list.size();i++) 
    { 
        if(list.get(i).toLowerCase().startsWith(s.toString())) 
        {
            pos = i;
            break; 
        } 
    } 
    lv.setSelection(pos);                   
}

```