public class MainActivity extends AppCompatActivity {
private TextView textView;
private Button button;
private Handler handler;
private boolean startFlag=false;//
private boolean isPause=false;//开关控制按钮
private int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView=findViewById(R.id.text_view);
button=findViewById(R.id.button_1);
handler=new Handler();
//开一个子线程使用post()方法发送消息并在run()方法中处理
new Thread(new Runnable() {
@Override
public void run() {
startFlag=true;
while(startFlag){
if (!isPause){
i++;
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
handler.post(new Runnable() {
@Override
public void run() {
textView.setText(i+" ");
}
});
}
}
}
}).start();
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
isPause =!isPause;
}
});
}
}
这样会一直进行计数,如果要实现退出或者进入后台还在计数的话就需要在不同生命周期做点事情,具体自己实现。