CommonsWare pointed me in the right direction. For future reference, in the onLoadChildren method, I do the database call to get the list of songs. I save the result object that was passed into the onLoadChildren method, then call result.detach(). When the database call returns, I build the media items from the list of songs. Then I call sendResult using the saveResult saved earlier.
Result<List<MediaBrowserCompat.MediaItem>> saveResult;
saveResult.sendResult(mediaItems);