1、布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开启" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="中断" />
</LinearLayout>
public class MainActivity extends Activity implements Runnable{
private Thread thread;//声明线程对象
int i;//循环变量
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button startButton = (Button)findViewById(R.id.button1);
startButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
i = 0;
thread = new Thread(MainActivity.this);//创建一个线程
thread.start();//开启线程
}
});
Button stopButton = (Button)findViewById(R.id.button2);
stopButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(thread!=null){
thread.interrupt();//中断线程
thread = null;
}
Log.i("提示:", "中断线程");
}
});
}
@Override
public void run() {
while(!Thread.currentThread().isInterrupted()){
i++;
Log.i("循环变量",String.valueOf(i));
}
}
@Override
protected void onDestroy() {
if(thread!=null){
thread.interrupt();//中断线程
thread = null;
}
super.onDestroy();
}
}