Android Treeview
I had the same issue. You can check out my implementation AndroidTreeView.
Its N-level tree.
Custom style for nodes
- Save state after rotation
Our company also open-sourced a solution for this. It is available as library, so very easy to use: http://code.google.com/p/tree-view-list-android/