问题:我想将当前用户与从列表中随机选择的另一个用户进行匹配。但是,这是logcat给出的错误:
java.lang.IndexOutOfBoundsException: Invalid index 18, size is 5
at package.packagename.FindingOpponentActivity$1.done(FindingOpponentActivity.java:190)
at package.packagename.FindingOpponentActivity$1.done(FindingOpponentActivity.java:78)
有关行,分别为190和78:
while (rand > mUsers.size() && mUsers.get(rand).hasSameId(mCurrentUser)) {
query.findInBackground(new FindCallback<ParseUser>() {
完整代码
query.findInBackground(new FindCallback<ParseUser>() {
@Override
public void done(List<ParseUser> users, ParseException e) {
setProgressBarIndeterminateVisibility(false);
if (e == null) {
//success!
public List<ParseUser> mUsers = users;
// case if there is just one user
else if (mUsers.size() >= 2) {
int rand = (int)(Math.random()*20);
while (rand > mUsers.size() && mUsers.get(rand).hasSameId(mCurrentUser)) {
rand = (int)(Math.random()*20);
}
mOpponentRelation.add(mUsers.get(rand));
mOpponent = mUsers.get(rand);
mCurrentUser.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e != null) {
Log.e(TAG, e.getMessage());
}
}
});
我尝试谷歌搜索“如何获得随机用户解析android”,但找不到任何有用的信息。
else if (mUsers.size() >= 2) {
Random random = new Random();
int rand = random.nextInt(mUsers.size());
while (mUsers.get(rand).hasSameId(mCurrentUser)) {
rand = random.nextInt(mUsers.size());
}
mOpponentRelation.add(mUsers.get(rand));
mOpponent = mUsers.get(rand);
mCurrentUser.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e != null) {
Log.e(TAG, e.getMessage());
}
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句