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