Cursor adapter implementation that supports multiple item types