The ExpandableList now works as intended.  When you touch an item it highlights it properly by setting the correct flag in the model data then running the Model's notifyDataSetChanged method.   I also moved all of the database access code out to an AsyncTask to keep the UI from hanging while it's generating the data.