android - java.lang.IndexOutOfBoundsException error everytime I try to get a random user -


problem: want match current user user chosen randomly list. however, error logcat gives:

 java.lang.indexoutofboundsexception: invalid index 18, size 5     @ package.packagename.findingopponentactivity$1.done(findingopponentactivity.java:190)    @ package.packagename.findingopponentactivity$1.done(findingopponentactivity.java:78) 

the relevant lines, 190 , 78 respectively:

 while (rand > musers.size() && musers.get(rand).hassameid(mcurrentuser)) {     query.findinbackground(new findcallback<parseuser>() { 

the full code

 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 1 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());                             }                         }                     }); 

i tried googling "how random user parse android" unable find helpful.

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());             }         }     }); 

Comments