未从 quickblox 示例获取用户列表信息
Not getting Users list info from quickblox example
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<>();
在查询可以搜索用户是否存在以及 return onSuccess 方法中的 QBUser 之前,您应该向此列表添加一个或多个 ID。
正确做法的一个例子是:
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,那么它会 return onSuccess() 方法中的用户。希望这有帮助。
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<>();
在查询可以搜索用户是否存在以及 return onSuccess 方法中的 QBUser 之前,您应该向此列表添加一个或多个 ID。 正确做法的一个例子是:
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,那么它会 return onSuccess() 方法中的用户。希望这有帮助。