Страница 1 из 1

Как зациклить смену TextView по клику на кнопку?

Добавлено: 06 фев 2014, 18:38
salexus
Не могу понять как сделать чтобы по клику на кнопку, менялось содержимое TextView в цикле. В моем коде при первом клике сразу выдает 777. Как заставить его начинать с 0.

private void LoadText()
{
String mass[] = new String[3];
mass[0]= "55";
mass[1]= "55555";
mass[2]= "777";
for (int i = 0; i<3; i++ ){
textViewStr1.setText(mass);
}
}
@Override
public void onClick(View v) {

LoadText();
}

Re: Подскажите новичку

Добавлено: 06 фев 2014, 18:52
altwin
ваша переменная цикла i -должна быть static и объявленна вне цикла, чтобы сохранять свое состояние, после первой итерации просто прерываете цикл и должно получиться, что при каждом нажатии кнопки - будет слудующее значение, т.е. второй раз i == 1 и т.д. Если это нужно делать без нажатий на кнопку, делайте паузу в цикле перед новой итерацией, но это все в теории. А вообще - просто не надо так делать.

Re: Подскажите новичку

Добавлено: 06 фев 2014, 18:56
anber

Re: Подскажите новичку

Добавлено: 06 фев 2014, 19:03
salexus
Спасибо за быстрый ответ. А как тогда лучше делать? В общем приложение представляет собой: Задание вопроса, получение ответа. Вопросы должны задаваться по очереди. В консольном приложении Java это сделал через цикл. Получил вопрос, вбил ответ, получил следующий ответ. А вот как на андроид это переделать пока не понимаю.

Re: Как зациклить смену TextView по клику на кнопку?

Добавлено: 06 фев 2014, 19:09
anber

Код: Выделить всё

private int questionNumber = 0;
private String mass[];

private void setNextQuestion()  {
if (questionNumber < mass.length)
  textViewStr1.setText(mass[questionNumber]);
  questionNumber++;
}

@Override
public void onClick(View v) {
  setNextQuestion();
}
Задать значения в mass лучше в onCreate() или чем-то подобном.

UPD. Исправил опечатку в коде

Re: Как зациклить смену TextView по клику на кнопку?

Добавлено: 06 фев 2014, 19:13
salexus
Огромное спасибо. Пол дня мучаюсь.