final ListView opponentsList = (ListView) view.findViewById(R.id.opponentsList);
ArrayList<Integer> userIds = new ArrayList<>();
QBUsers.getUsersByIDs(userIds, new QBPagedRequestBuilder(userIds.size(), 1), new QBEntityCallbackImpl<ArrayList<QBUser>>() {
@Override
public void onSuccess(ArrayList<QBUser> results, Bundle params) {
super.onSuccess(results,params);
List<QBUser> users = new ArrayList<>(results.size());
for (QBUser result : results)
{
// There mus be a more efficient, or at least better looking, way of doing this...
QBUser user = new QBUser();
user.setId(result.getId());
user.setLogin(result.getFullName());
users.add(user);
}
int i = searchIndexLogginedUser(users);
if (i >= 0)
users.remove(i);
// Prepare users list for simple adapter.
//
opponentsAdapter = new OpponentsAdapter(getActivity(), users);
opponentsList.setAdapter(opponentsAdapter);
}
});
progresDialog.dismiss();
使用Android中的quickblox示例从QBUsers.getUsersByIDs()获取用户数据时不使用onSuccess方法?
最佳答案
它没有显示,因为您没有向查询提供任何值:
ArrayList<Integer> userIds = new ArrayList<>();
您应该在此列表中添加一个或多个ID,然后查询才能搜索该用户是否存在并以onSuccess方法返回QBUser。
正确的做法示例如下:
ArrayList<Integer> userIds = new ArrayList<>();
userIds.add(123456);
QBUsers.getUsersByIDs(userIds, new QBPagedRequestBuilder(userIds.size(), 1), new QBEntityCallbackImpl<ArrayList<QBUser>>() {
@Override
public void onSuccess(ArrayList<QBUser> results, Bundle params) {
super.onSuccess(results,params);
List<QBUser> users = new ArrayList<>(results.size());
for (QBUser result : results)
{
// There mus be a more efficient, or at least better looking, way of doing this...
QBUser user = new QBUser();
user.setId(result.getId());
user.setLogin(result.getFullName());
users.add(user);
}
int i = searchIndexLogginedUser(users);
if (i >= 0)
users.remove(i);
// Prepare users list for simple adapter.
//
opponentsAdapter = new OpponentsAdapter(getActivity(), users);
opponentsList.setAdapter(opponentsAdapter);
}
});
progresDialog.dismiss();
如果有一个具有此ID的用户,则它将在onSuccess()方法中返回该用户。希望这可以帮助。
关于android - 无法从quickblox示例获取用户列表信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35199641/