使用AsyncTask调试Android时挂起



以下是我的部分活动代码:

button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                IParser = new ImageParser(MainActivity.this, EarthqpicUrl);
                IParser.execute();
            }
        });

这是我的异步任务代码的一部分:

AsyncResponse lempar; *//this is An interface*
public ImageParser(Context actv, String EarthqpicUrl){
   this.actv=actv;
   this.EarthqpicUrl=EarthqpicUrl;
   this.lempar = (AsyncResponse) actv;
}

这是接口代码:

import android.graphics.Bitmap;
public interface AsyncResponse {
    public void processFinish(Bitmap output);
}

我使用相同的代码来解析JSONData,它很有效。但是,当我在修改了类名之后使用相同的构造函数时,它在调试时显示了一个错误:

Thread [<1> main] (Suspended (Exception ClassCastException))
ImageParser.<init>(Context, String) Line:25
MainActivity$1.onCllick(View) line: 23 

这个代码出了什么问题?有人能帮我吗?非常感谢

这是我在JSONParser:中使用的代码的一部分

AsyncResponse delegate;
public JSONParser(Context actv,String url){
    this.actv=actv;
    this.url = url;
    this.delegate = (AsyncResponse) actv;
}

和JSONParser一样,我使用了一个名为AsyncResponse的接口。

您正在将类型为Context的对象强制转换为AsyncResponse:

this.lempar = (AsyncResponse) actv;

这就是导致错误的原因。

最新更新