Я пишу небольшую программу для обновления TextView каждые 5 секунд. Но я не могу обновить текст моего TextView в каждые 5 секунд, особенно когда речь идет последний ArrayList элемент, как: C ниже в кодеОбновление TextView с использованием Timer и ArrayList
Я следую this учебник
public class MainActivity extends Activity {
Timer timer;
MyTimerTask myTimerTask;
List<String> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textCounter = (TextView)findViewById(R.id.counter);
timer = new Timer();
myTimerTask = new MyTimerTask();
timer.schedule(myTimerTask, 1000, 5000);
....
list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
}
class MyTimerTask extends TimerTask {
@Override
public void run() {
runOnUiThread(new Runnable(){
@Override
public void run() {
for(int i=0; i<list.size(); i++) {
textCounter.setText(list.get(i).toString());
}
}});
}}
Вместо списка перебора, почему бы вам не установить TextView с одним текстом в то время. –
Не используйте задачу таймера, она работает неправильно, используйте для этого обработчик. –
, где вы вызываете метод timer.start() для запуска таймера. –