重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
线程实时刷新TextView值:
成都创新互联专业为企业提供九江网站建设、九江做网站、九江网站设计、九江网站制作等企业网站建设、网页设计与制作、九江企业网站模板建站服务,10多年九江做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
思路:
1)使用handler通知view修改值;
2)标志位控制线程的停止/开始;
/**
* 1、刷新线程
*
* @author wxm
*
*/
class RefreshThread implements Runnable {
public void run() {
while (isStop) {
try {
handler.sendMessage(handler.obtainMessage());
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
备注:sendMessage发送消息
/**
* 2、实时刷新界面
*/
Handler handler = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
System.out.println("count--->" + count);
if (count == 5) {
isStop = false;
try {
Thread.sleep(3000);
isStop = true;
count = 0;
new Thread(mRefreshThread).start();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
textview.setText(String.valueOf(count++));
}
};
备注:接收消息,并修改停止/开始标志位
3、初始化控件
private TextView textview = null; // TextView 控件
private int count = 0;//初始化数值
private RefreshThread mRefreshThread = null;//刷新线程
private boolean isStop = true;// 线程控制标志
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview = (TextView) findViewById(R.id.textview);
mRefreshThread = new RefreshThread();
textview.setText(String.valueOf(count));
new Thread(mRefreshThread).start();// 开始进程
}