Android version:4.2
I am developing an android App. I need to generate images from drawable folder randomly and set text to say wich card its been selected. I wish my app to enumerate every card randomly selected without repetitons until the 52 card deck ends.
My xml code is:
<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" />
In my drawable I have 52 images of poker cards with different names.
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,
...
I am using this code to generate random cards on button click and display card name.
@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]);
}
});
}
Aucun commentaire:
Enregistrer un commentaire