范围内没有封闭实例 - 类之间的方法调用

时间:2013-10-17 14:35:14

标签: java android class methods

我在编写Android应用程序方面相当新,实际上这是我的第一个,很抱歉我的(可能是简单的)问题。

我想要做的就是在网站上通过httprequest发布一些值(到目前为止工作正常)并收到一条消息,如果它已成功完成(存在问题)。所以我的班级MainActivity看起来像这样:

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);
}

}

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

提前致谢。 蒂莫

0 个答案:

没有答案