Ich habe eine kleine Frage über die Verwendung vonAndroid zufällig, aber wiederholen 2 mal
Android Resouce by ID/Change image onClick/no change of imageView
Ich habe meine Bilder etabliert zufällig hier gepflückt, mit:
@Override
public void onClick(View v) {
Log.d("MYAPP", "Like-Button clicked");
/*imageViewMeasurement.setImageResource(R.drawable.p13);*/
TypedArray images = getResources().obtainTypedArray(R.array.images_primes);
int chosenImageNumber = (int) (Math.random() * images.length());
// setImageResource to the random chosenImageNumber
imageViewMeasurement.setImageResource(images.getResourceId(chosenImageNumber, R.color.colorPrimaryDark));
images.recycle();
// Confirmation if the random generator picked a Number from the array
String chosenImageNumberTest = String.valueOf(chosenImageNumber);
Log.d("MYAPP Choice Number", chosenImageNumberTest);
}
Dieses ein Array läuft durch von 40 Bildern und wird einmal wiederholt. So wird jedes Bild zweimal angezeigt (?).
, die Frage ist: aus diesen 40 Bildern Wenn ich einen Pool von 40 Bildern für 80 Picks zufällig verwenden, muß ich jedes Bild zweimal (zieht mit Abdeckung) zu bekommen, oder jeder ist einen neuen Zufall versuchen (zeichne ohne ersatz), also könnte das reult die nummer 1 für 4 mal und nummer 38 für 0 mal sein? Gibt es eine andere Funktion, die einem solchen Verhalten vorbeugt?
Best, tigercode
dieser Code verlangsamen könnte (vielleicht eine kleine Weile hängen), wenn zu viele Zahlen genommen werden (zB: 1 - 10 genommen wird, nur 11 links es, ist möglich, dass der Zufallsgenerator 1 - 10 multipliziert, bevor er 11 generieren kann), das Beste ist eine Liste von Elementen, die zufällig zu bekommen sind, und wenn dieses Element generiert wird, muss es aus der Liste entfernt werden die neue Listengröße, um eine Indexüberschreitung zu vermeiden –