Я создал в своем макете два ImageViews, назовем их imageviewTop
и imageviewBottom
.
Я сохранил два изображения в drawable (green_image.png и red_image.png).
Я также добавил кнопку и хочу, чтобы я хотел бы сделать это, когда нажата кнопка, один из ImageViews будет выбран случайным образом, а с green_image он будет изменен на red_image.Случайно выберите один из двух ImageViews и обновите ResourceImage
Я уже пробовал с созданием оператора switch/case и генерировал случайное число, например 1 или 2.
На основании этого номера оператор case обновил бы верхнее или нижнее изображение.
Это нормально работает для 2 ImageViews, но в случае, если у меня будет 100, мне нужно будет создать 100 случаев в коде.
Я ищу более динамичный вариант.
Я знаю, как обновить изображение для ImageView, я борюсь с частью, о том, как выбрать один ImageView случайным образом, если это возможно.
Вот код:
public class MainActivity extends Activity {
ImageView imagevieTop, imageviewBottom;
Button randomButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imagevieTop = (ImageView) findViewById(R.id.imageViewTop);
imageviewBottom = (ImageView) findViewById(R.id.imageViewBottom);
randomButton = (Button) findViewById(R.id.buttonRandom);
randomButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// randomly select one of the two imageviews
// for example: randomly selected imageviewTop
// set imageresource red_image to imageviewTop
//at next start up it would select either top or bottom, 50%-50% and then assign the image to it
}
});
}
}
Почему вы просто не произвольно генерируете координату ImageView и изображение внутри него? OR Вы можете просто написать код как int a = new Random(). NextInt (100); x = (x - x% 4)/4 * multiple; y = x% 4 * multiple; imgId = a; затем просто установите координаты и изображение изображений –
Я хотел бы установить изображения уже заранее, так что, например, при запуске всегда должно быть 4 зеленых изображения в определенных координатах, а при нажатии кнопки один из них становится красным. – Gexo