以下是我的部分活动代码:
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;
这就是导致错误的原因。