public void resetQuiz() {
AssetManager assets = getActivity().getAssets();
fileNameList.clear();
// Use AssetManager to retrieve the image file names
try {
for(String region:regionSet){
String[] paths = assets.list(region);
for(String path:regionSet){
fileNameList.add(path.replace(".png", ""));
}
}
}
catch(IOException ex) {
Log.e(TAG, "Error loading image file names", ex);
}
correctAnswers = 0;
totalGuesses = 0;
quizCountriesList.clear();
int flagCounter = 1;
int numberOfFlags = fileNameList.size();
// Add FLAGS_IN_QUIZ random file quizCountriesList
while (flagCounter <= FLAGS_IN_QUIZ) {
int randomIndex = random.nextInt(numberOfFlags);
// Get random file name
String filename = fileNameList.get(randomIndex);
//If the region is enabled but has not yet been selected
if (!quizCountriesList.contains(filename)) {
quizCountriesList.add(filename);
}
flagCounter++;
}
loadNextFlag(); //Start the quiz by loading the first flag
}
for(String region:regionSet){
String[] paths = assets.list(region);
for(String path:regionSet){ <--------
fileNameList.add(path.replace(".png", ""));
}
}
Find more questions by tags Android
??? - Eulah.Hamill commented on June 10th 19 at 17:00
Caused by: java.lang.IllegalArgumentException: bound must be positive
at java.util.Random.nextInt(Random.java:388)
at com.example.slave.flagquiz.MainActivityFragment.resetQuiz(MainActivityFragment.java:160)
at com.example.slave.flagquiz.MainActivity.onStart(MainActivity.java:66)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1333)
at android.app.Activity.performStart(Activity.java:6992)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2780)