我正在写一个小程序来每5秒更新一次TextView。但我无法更新每隔5秒我的TextView的文本,尤其是当它涉及到持续ArrayList的项目,如:C以下代码使用Timer和ArrayList更新TextView
我下面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()方法来启动Timer。 –