我在编写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);我想这与实例/静态非静态方法有关,所以... ...
提前致谢。 蒂莫