Java 作用域中没有封闭实例-类之间的方法调用

Java 作用域中没有封闭实例-类之间的方法调用,java,android,class,methods,Java,Android,Class,Methods,我对android应用程序的编程相当陌生,实际上这是我的第一次,所以很抱歉我的问题(可能很简单) 我想做的就是通过httprequest在一个网站上发布一些值(到目前为止效果很好),如果成功的话(这就是问题所在),然后得到一条消息。我的课堂活动如下所示: public class MainActivity extends Activity implements OnClickListener { private Button sendButton; private Button graficB

我对android应用程序的编程相当陌生,实际上这是我的第一次,所以很抱歉我的问题(可能很简单)

我想做的就是通过httprequest在一个网站上发布一些值(到目前为止效果很好),如果成功的话(这就是问题所在),然后得到一条消息。我的课堂活动如下所示:

public class MainActivity extends Activity implements OnClickListener {

private Button sendButton;
private Button graficButton;

[...]
@Override
public void onClick(View v) {

[...]
new ExecutePost().execute(zusammen);
return;

}


public void checkResponse(Integer responseCode) {
    if(responseCode == 200){
            new AlertDialog.Builder(this)
            .setMessage(R.string.response_ok)
            .setNeutralButton(R.string.error_ok, null)
            .show();
        return;
    }else{
        new AlertDialog.Builder(this)
        .setMessage(R.string.response_false)
        .setNeutralButton(R.string.error_ok, null)
        .show();
    return;
    }

}
在类ExecutePost中,我尝试从MainActivity类调用函数checkResponse,但在那里我得到了编译器错误:

在作用域中无法访问MainActivity类型的封闭实例

这是我如何编写类ExecutePost的:

public class ExecutePost  extends AsyncTask<String, Void, HttpResponse>{

private IOException exception;
private ClientProtocolException clientException;

@Override
public HttpResponse doInBackground(String... alles) {

    works fine
    }


@Override
protected void onPostExecute(HttpResponse resRes) {
    Integer code = resRes.getStatusLine().getStatusCode();
    super.onPostExecute(resRes);
    MainActivity.this.checkResponse(code);
}
public类ExecutePost扩展异步任务{
私有IOException;
私人客户协议例外客户例外;
@凌驾
公共HttpResponse doInBackground(字符串…alles){
很好
}
@凌驾
受保护的void onPostExecute(HttpResponse resresres){
整数代码=resRes.getStatusLine().getStatusCode();
super.onPostExecute(resresres);
MainActivity.this.checkResponse(代码);
}
}

我在*MainActivity.this.*checkResponse(代码)的最后一行中得到错误消息;我想这与实例/静态非静态方法有关,所以

提前谢谢。
Timo

如果要将代码传递给activity类,请使用InterfaceO或将asynctask作为MainActivity的内部类,那么需要在post execute中回调Main activity。您可以根据结果在postExecute中显示警报对话框。非常感谢,界面工作正常!