一个困扰我好久的问题在尝试过很多中方法后今天终于得到了解决,真是大快人心啊,下面就来说一下我遇到的这个问题:
我从一个.txt文本里分条读出一列数据,然后把这些数据存放在了一个list里面,我想每隔1秒钟从列表里取出一条数据,并把这条数据显示在一个TextView上,让这个TexxtView上显示的数据每秒都在变动,然后我就尝试了好几种开启线程 什么Handler Thread Timer定时器 等等都没有成功,在无意之间用了下面的方法成功实现了我想要的效果,下面将源码分享给大家,希望可以帮到遇到同样问题的朋友:
源码截图:
下面是可复制的源码:
mHandler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 1 && mIndex < stringList.size()){ tv_textData.setText("值为:"+stringList.get(mIndex)); Log.e("cacacacca","mIndex:"+mIndex); Log.e("cacacacca","stringList.get(mIndex):"+stringList.get(mIndex)); mIndex++; } } }; new Thread(new Runnable() { @Override public void run() { while (mIndex < stringList.size()){ try { Thread.sleep(1000); mHandler.sendEmptyMessage(1); } catch (InterruptedException e) { e.printStackTrace(); } } } }).start();