0

这是我的活动代码的一部分:

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

这是我的 AsyncTask 代码的一部分:

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

4

1 回答 1

1

您正在将类型的对象转换ContextAsyncResponse

this.lempar = (AsyncResponse) actv;

这就是导致错误的原因。

于 2013-07-18T10:21:27.077 回答