Адаптер обновляется на втором notifyDataSetChanged? - PullRequest
0 голосов
/ 08 июня 2018

Адаптер не будет обновляться, если notifyDataSetChanged не будет выполнен два раза!но когда я отслеживаю его в отладчике, он работает отлично!Эта проблема возникает только на sendRequest методе, он отлично работает на других методах!

      if (friendListHelper.isFriendRequestAlreadySent(user.getId())) {
            holder.addFriendBtn.setText("Cancel Request");
            holder.addFriendBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    cancelRequest(view, user, position);
}
           });
        } else if (friendListHelper.isFriend(user.getId())) {
            holder.addFriendBtn.setText("Unfriend");
            holder.addFriendBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    deleteFriend(view, position, user);
                }
            });
        } else {
            holder.addFriendBtn.setText("Add Friend");
            holder.addFriendBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    sendRequest(user, view, position);
                }
            });
        }
    }


     private void deleteFriend(final View view, final int position, QBUser user) {
            friendListHelper.removeFriend(user, new QBEntityCallback<Void>() {
                @Override
                public void onSuccess(Void aVoid, Bundle bundle) {
                    notifyItemChanged(position);
                }
            });
        }

        private void cancelRequest(final View view, QBUser user, final int position) {
            friendListHelper.cancelFriendRequest(user.getId(), new QBEntityCallback<Void>() {
                @Override
                public void onSuccess(Void aVoid, Bundle bundle) {
                    notifyItemChanged(position);
                }

        }

        private void sendRequest(final QBUser user, final View view, final int position) {
            friendListHelper.sendFriendRequest(user, new QBEntityCallback<Void>() {
                @Override
                public void onSuccess(Void aVoid, Bundle bundle) {
                    notifyDataSetChanged();
                }
            });
        }
...