The table at
ContactsContract.Contacts.CONTENT_URI only contains very generic contact info, like _ID, DISPLAY_NAME, etc.
It doesn’t contain the actual data of a contact, such as phones, emails, events, etc.
Those are stored in a separate table
ContactsContract.Data.CONTENT_URI, so you’ll need to change the table in your cursorLoader to that.
Also, your projection would need to change to:
private val PROJECTION: Array<out String> = arrayOf( Data.CONTACT_ID, Contacts.LOOKUP_KEY, Contacts.DISPLAY_NAME )
CLICK HERE to find out more related problems solutions.