【发布时间】:2014-01-12 14:56:55
【问题描述】:
public class MainActivity extends ActionBarActivity {
private Context cx;
private int pageNumber=0;
private void populateList() {
AsyncHttpClient client = new AsyncHttpClient();
RequestParams paras = new RequestParams();
paras.put("page",this.pageNumber+1);
............
}
private Button.OnClickListener loadMoreButtonOnClick = new Button.OnClickListener(){
public void onClick(View v){
AsyncHttpClient client = new AsyncHttpClient();
RequestParams paras = new RequestParams();
paras.put("page",this.pageNumber+1); //can't resolve symbol "pageNumnber"
client.get("http://APIAddressHere",paras,new AsyncHttpResponseHandler(){
@Override
public void onSuccess(int statusCode, org.apache.http.Header[] headers, byte[] responseBody){
//it's ok;
}
@Override
public void onFailure(int statusCode, org.apache.http.Header[] headers, byte[] responseBody, Throwable error)
{
// Response failed :(
}
});
}
};
}
在我评论过的第二个函数(loadMoreButtonOnClick)中,IDE 抛出一个错误,似乎我无法访问我在那里创建的变量(private int pageNumber)。
但是我可以在populateList()函数中访问pageNumber,为什么我不能在loadMoreButtonOnClick()中访问它,是不是意味着我已经在不同的上下文中了?
系统是:JDK 6,Android Studio 0.4.2,我的项目是从API 9到API 18
我是 Java 新手。所以我的问题是:
1. 为什么?
2. 如何解决?
【问题讨论】:
标签: java android variables scope