1. I use setTextFilterEnabled(true) so that folk can start typing the species name. This seems easy on a G1 (my phone), but how will users invoke the keyboard on a newer phone with no physical keyboard? Do they have a special button?

2. It's a huge list - you can scroll through it, but it takes ages - I want to use the same type of 'thumb' scroll bar that appears when I scroll through my contacts. Any ideas on how to use this? One problem is that the species are in non-alphabetic order, but I would be happy to make it alphabetic if necessary.

you may have to provide them a search option probably in your OptionstMenu, just like it is done in the contacts app. Or maybe provide a searchBox at the top/bottom of the layout and use Filter to filter the list as they type. You may have to extend the Filter Class.

And for your second question you said that you have many items and its taking a long time to scroll them. But it will not take such a long time if you use a viewHolder and reuse the views as they disappear from the list. That way the listView will always take the same time for displaying the list no matter how many listItems it has. Here is an examplehttp://developer.android.com/gui ... ist14.html

I never worked on customizing scrollbars and do not know what you mean by thumb scroll bar. But there are options to customize the scrollbar in the ListView Class that you may want to look at.