Вопрос по image, android, random – Отображение случайного изображения при нажатии кнопки

1

Я пытался раньше и просто запутался, поэтому постараюсь быть более точным. Я делаю приложение, в котором у меня есть колода из 7 карт. Я хочу нажать на колоду, и на экране появится одна из 7 карт. Пока у меня есть

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        final MediaPlayer mpClick = MediaPlayer.create(this, R.raw.click);
        randomM = (EditText) findViewById(R.id.randomM);

        //button 1 start        
        Button bMythos = (Button) findViewById(R.id.mythos);
        bMythos.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                mpClick.start();
                Random r = new Random();
                int n=r.nextInt(7) + 1;
                randomM.setText(String.valueOf(n));
            }
        });
        //button 1 end
    }

}

До сих пор это отображает колоду карт, на которой я нажимаю, и генерируется случайное число (текстовое поле почти для меня, чтобы я знал, что генератор случайных чисел работает; будет удалено, когда я выясню дисплей).

So my question Как я могу получить случайное число, чтобы соответствовать случайной карте и показать карту? - карты помечены mythos1, mythos2 и т. д., поэтому я предположил, что могу что-то сделать с mythos (String.valueOf (n)), но это не сработало (если я не делаю что-то еще неправильно) [если вы не можете сказать я понятия не имею, что я делаю]

Вы хотите сгенерировать любую карту из 7, которые вы отображаете на экране? Naresh Sharma
Хм ... @ Rashmi.B прав. Вопрос неопределенный. Я ответил на совершенно другой вопрос всем остальным. Вы, очевидно, новичок в этом, но если вы сможете уточнить, что именно вы спрашиваете, это поможет. :) AlbeyAmakiir

Ваш Ответ

4   ответа
0

ть 7 изображений (R.drawables.mythos1, ...), привязанных к 1-7, и установить его в ImageView.imageView.setDrawableResource(R.drawable.myths1); в зависимости от случайного числа. Посмотрите на пример отсюдаПолучить ID отрисовки в ImageView

6

 int[] cards={R.drawable.card1,R.drawable.card2,R.drawable.card3,R.drawable.card4,R.drawable.card5,R.drawable.card6,R.drawable.card7};
 Random r = new Random();
 int n=r.nextInt(7);
 imageview.setImageResource(cards[n]);
Error: User Rate Limit Exceeded bribrem
0

но, как бы я ни понял, я полагаю, если вы уверены, что у вас всего 7 колод, почему бы вам не закодировать их жестко и не присвоить значение каждой из них. Таким образом, когда вы вызываете случайную функцию, она проверяет, какое число является результатом, предположим, что оно равно 5, затем вызывает setDrawableResource (R.drawable.img5) и так далее.

0

List какой-то Затем вы можете ссылаться на них по их номеру. Например:

ArrayList<Card> deck = new ArraList<Card>();

//Fill the ArrayList. Maybe shuffle it.

selectedCard = ArrayList.get(randomNumber);

Card может быть простоString или что-то, вместо этого. Я не знаю, какой объект вы для него используете.

Похожие вопросы