Навигация по массиву (Android String Array) - PullRequest
0 голосов
/ 13 октября 2010

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

Resources res = getResources();
myString = res.getStringArray(R.array.FactsArray); 

Это то, что я имею до сих пор. Если я прав, это просто устанавливает массив, чтобы я мог использовать его позже. Раньше у меня был rgenerator, который выбирал случайную строку из массива и отображал ее, когда я нажимал кнопку.

Resources res = getResources();
myString = res.getStringArray(R.array.myArray); 

fact = myString[rgenerator.nextInt(myString.length)];

TextView tv = (TextView) findViewById(R.id.text1);
tv.setText(fact);

Но, как я уже сказал, я хотел бы просто заказывать их по одному при нажатии кнопки.

1 Ответ

2 голосов
/ 13 октября 2010

Поскольку вы отображаете строки последовательно, вам понадобится переменная счетчика, чтобы отслеживать, где вы находитесь в массиве. Он должен быть инициализирован до нуля. Каждый раз, когда вы нажимаете кнопку, она должна увеличиваться, пока не достигнете конца массива (myString.length - 1).

Что касается фактической обработки событий, это не сложно сделать. Вам просто нужно создать setOnClickListener() для вашей кнопки.

    int count = 0;
    Button b1 = (Button) findViewById(R.id.buttonName);
    b1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            if (count < myString.length) {
                tv.setText(myString[count]);
                count++;
            }
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...