我正在使用异步任务。我使用这个变量初始化我的任务
fhr_alg = new AddStringTask();
我想使用开始和停止按钮,这样当我停止它时,线程会取消,并在单击开始按钮时启动一个新线程。我用
fhr_alg.cancel(true);
用于取消任务。在我的开始按钮的 onclick 事件中,当我写
fhr_alg.execute;
它给出了一个错误,表明任务仍在运行。我在 doInBackground 中使用了 isCancelled() 但没有任何反应。我需要帮助来解决这个问题。
这是我的代码或开始和停止按钮
k.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
if(task!=null)
{
task.cancel(true);
}
try {
w.clearView();
} catch (Exception e) {
// TODO: handle exception
}
}
});
j.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
flag = true;
Thread tt = new Thread()
{
public void run()
{
try{
sleep(100);
}catch(Exception e){
}finally{
AddStringTask task = new AddStringTask();
task.execute();
}
}
};
tt.start();
int m=112;
String s=""+m;
if(flag)
w.loadUrl("javascript:callJS(\""+s+"\")");
}
它给了我一个错误说
Can't create handler inside thread that has not called Looper.prepare()