So am trying to retrieve values from firestore database,
then store them into an Arraylist
.There after am trying to choose the values at random from the array,
then am updating a different field in the document ("GameState") while using the randomly selected value as a Key to update the ("GameState") field in the document.
This what I have tried: But when I run it, the app crashes.
GamePortals.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull @NotNull Task<QuerySnapshot> task) {
if (task.isSuccessful()){
ArrayList<Integer> numberPot;
numberPot = new ArrayList<>();
int randomPicker = (int) (Math.random()*4);
for (QueryDocumentSnapshot document: task.getResult()){
//displayData.setText(String.valueOf(document.get("GameCode")));
numberPot.add((Integer) document.get("GameCode"));
numberPot.get(randomPicker);
//displayData.setText(String.valueOf(numberPot));
//displayData.setText(numberPot.get(randomPicker));
// Log.d(TAG,"onCreate: numbers:" + numberPot.get(randomPicker));
GamePortals.whereEqualTo("GameCode", numberPot.get(randomPicker))
.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull @NotNull Task<QuerySnapshot> task) {
if (task.isSuccessful()){
document.getReference().update("GameState","Winner");
Toast.makeText(getApplicationContext(),"Updating was successful!", Toast.LENGTH_SHORT).show();
}else
{
Toast.makeText(getApplicationContext(),"Updating was not successful!", Toast.LENGTH_SHORT).show();
}
}
});
}
displayData.setText(String.valueOf(numberPot.get(randomPicker)));
}else{
Toast.makeText(getApplicationContext(),"Some is wrong with Query", Toast.LENGTH_SHORT).show();
}
}
});
}
ERROR LOGCAT filtered by Error logcat image
LINE 83 (CODE SCREENSHOT ) Contains screenshot of the code(referenced in error logcat)