1

我在编程 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的最后一行收到错误消息。*检查响应(代码);我想这与实例/静态非静态方法有关,所以...

提前致谢。蒂莫

4

0 回答 0