使用AsyncTask调试Android时挂起

使用AsyncTask调试Android时挂起,android,android-asynctask,classcastexception,Android,Android Asynctask,Classcastexception,以下是我的部分活动代码: button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { IParser = new ImageParser(MainActivity.this, EarthqpicUrl); IParser.execute(); } }); 这是

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

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的接口。

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

this.lempar = (AsyncResponse) actv;

这就是导致错误的原因。

Thanx用于回复,但我使用这种方法是因为它以前适用于JSONParser而不是ImageParser。对于相同的代码,为什么它不能用于ImageParser?维克拉姆,你能帮我吗?问题解决了。发现它必须在MainActivity类中实现接口。@stsho89抱歉,我从一开始就假设您已经在
MainActivity
中实现了
AsyncResponse
接口,因为您的
JSONParser
正在运行。很高兴你的问题解决了。
this.lempar = (AsyncResponse) actv;