Версия Android: 4.2
Я занимаюсь разработкой приложения для Android.Мне нужно генерировать изображения из папки для рисования случайным образом и установить текст, чтобы сказать, какая карта была выбрана.
Я хочу, чтобы мое приложение перечисляло каждую карту, выбранную случайным образом, без повторений, до тех пор, пока не закончится колода из 52 карт.
Как мне этого достичь?
Мой код xml:
<ImageView
android:id="@+id/imageView"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerInParent="true"
android:scaleType="centerInside"
tools:layout_editor_absoluteX="16dp"
tools:layout_editor_absoluteY="16dp" />
В моем дро, у меня есть 52 изображения покерных карт с разными именами.
public class MainActivity extends AppCompatActivity {
ImageView imageView;
TextView txt1;
Button button;
Random r;
Integer[] images = {
R.drawable.ace_of_hearts,
R.drawable.two_of_hearts,
R.drawable.three_of_hearts,
R.drawable.four_of_hearts,
...
Я использую этот код для генерации случайных карт по нажатию кнопки и отображения названия карты.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.imageView);
txt1 = (TextView) findViewById(R.id.mytext);
button = (Button) findViewById(R.id.btn1);
r = new Random();
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//remove duplicates
do {
pickedImage = r.nextInt(images.length);
} while (pickedImage == lastPicked);
lastPicked = pickedImage;
//display random image
imageView.setImageResource(images[pickedImage]);
txt1.setText(images[pickedImage]);
}
});
}