I looked at the following site: ListView Example
Which describes how to implement a search function in a listview which uses the default adapter and it works fine.
You need to override getFilter inside of your adapter and return a new customFilter object that you create. See this answer: No results with custom ArrayAdapter Filter
Edit:
@Override
public Filter getFilter() {
if(customFilter == null){
customFilter = new CustomFilter();
}
return customFilter;
}