我想在Test跳转或者关闭的时候 销毁里面创建的线程new Thread(),不知道该怎么操作,望大家不吝赐教啊!!!
代码如下:
public class Test extends Activity implements OnClickListener{
private Button btnTest;
public final static int LOAD_PROGRESS =0;
Handler handler = new Handler(){
public void handleMessage(Message msg){
switch(msg.what){
case LOAD_PROGRESS:
Toast.makeText(getApplicationContext(), (String)msg.obj,Toast.LENGTH_SHORT).show();
break;
}
super.handleMessage(msg);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnTest=(Button)findViewById(R.id.btnSysconTest);
btnTest.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.Test:
Test();
break;
}
}
private void Test()
{
new Thread()
{
public void run()
{
Message msg = new Message();
-------- 一些操作 ------------
msg.what = LOAD_PROGRESS;
msg.obj="aaaaaaa";
handler.sendMessage(msg);
}
}.start();
}
@Override
protected void onDestroy() {
//是在这里将线程销毁掉吗??? 怎么做呢???
super.onDestroy();
}
}
------解决方案--------------------
本来是handler.removeCallbacks(线程名);但是你没定义你的线程,你怎么在 onDestroy() 方法里面销毁了
------解决方案--------------------
boolean isStop = false;
Thread test = new Thread(){
public void run() {
while(!isStop) {
逻辑处理
}
}
};
在onDestroy中
isStop = true;
test.interrupt();
------解决方案--------------------
你这个线程需要销毁吗?自己会销毁吧
------解决方案--------------------
线程还能销毁?
你这个代码不需要做什么...