@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_contact_list); Contact temp = new Contact(); PhoneContact = ContactList.getsInstance(); ContentResolver cont = getContentResolver(); Cursor c = cont.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); ArrayList<String> contacts = new ArrayList<>(); // Storing ContactNumber ArrayList<String> name = new ArrayList<>(); // Storing ContactName if (c.moveToFirst()) { do { String contactId = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID)); if (Integer.parseInt( c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) { Cursor num = cont.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[] {contactId}, null); while (num.moveToNext()) { String contactNum = num.getString(num.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); contacts.add(contactNum); String contactName = num.getString( num.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); name.add(contactName); } num.close(); } } while (c.moveToNext()); } for (int i = 0; i < contacts.size(); i++) { Log.d(tag, contacts.get(i)); Log.d(tag, name.get(i)); temp.setCNum(contacts.get(i)); temp.setCName(name.get(i)); PhoneContact.add(temp); } ListView listView = (ListView) findViewById(R.id.Contact_list_view); mAdapter = new ContactAdapter(PhoneContact); listView.setAdapter(mAdapter); listView.setOnScrollListener( new AbsListView.OnScrollListener() { int previousFirstItem = 0; @Override public void onScrollStateChanged(AbsListView view, int scrollState) {} @Override public void onScroll( AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if (firstVisibleItem > previousFirstItem) { getSupportActionBar().hide(); } else if (firstVisibleItem < previousFirstItem) { getSupportActionBar().show(); } previousFirstItem = firstVisibleItem; } }); listView.setOnItemClickListener( new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent i = new Intent(ContactListActivity.this, ContactViewActivity.class); i.putExtra(ContactViewActivity.EXTRA, position); startActivity(i); } }); c.close(); }