不适用线程开启循环,并可以刷新界面
public class MyHandler extends Handler { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 1: Log.i("after", "循环中"); myHandler.sendEmptyMessageDelayed(1, 500); break; case 2: Log.i("after", "停止循环"); myHandler.removeMessages(1);//移除循环信息 break; default: break; } } }
myHandler = new MyHandler();
btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (!isRUnning) { myHandler.sendEmptyMessage(1); btn.setText("停止"); isRUnning = true; } else {// myHandler.removeMessages(1); myHandler.sendEmptyMessage(2); btn.setText("开始"); isRUnning = false; } } });