use notifyDataSetChanged to refresh the adapter