问题:我想将当前用户与从列表中随机选择的另一个用户进行匹配。然而,这是logcat中给出了错误:每次尝试获取随机用户时发生java.lang.IndexOutOfBoundsException错误
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“,但我无法找到有用的东西。
工程就像一个魅力!谢谢 – Frosty619