I used autocompletetextview that is working fine but with some problem:
1) I have to hide the virtual keyboard when suggestion list appear.
2) Suggestion list show all suggestions matching with entered letter like if I type letter A it show all cities names contains and started with letter A. But I have to show only those cities which are started from B because cities list is too big(30000+). Thanks In advance.
This is not recommended. Why do you assume that user is going to type just one character and then select. Given that your list is 30000+ and assuming I want to enter Boston. Do you think it is going to help the user to just type B and having to scroll through say 500 cities starting with B and then select Boston, or type say Bos and the list boils down to say 2-3 and the user selects it. You can definitely dismiss the virtual IME once the user selects an item in the list. See imeActions for details.
This is the intended behavior. In case you need only start there is another option called as FastScroll ListView which sorts list based on first character.