我有一個像這樣的方法來使用loopj從webservices獲取名字。如何在整個班級中使用內部類變量
private void getfirstName() {
List<Header> headers = new ArrayList<Header>();
headers.add(new BasicHeader("Accept", "application/json"));
RestClient.getShiftCodes(MainActivity.this, "RestService/First_Name", headers.toArray(new Header[headers.size()]),
null, new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONArray response) {
ArrayList<String> firstNameArray = new ArrayList<String>();
for (int i = 0; i < response.length(); i++) {
try {
JSONObject c = response.getJSONObject(i);
String first_NameArray = c.getString("firstName");
firstNameArray.add(first_NameArray);
}
catch (JSONException e) {
e.printStackTrace();
}
}
String first_Name= firstNameArray.get(0);
}
});
}
如果我想使用其他方法FIRST_NAME字符串值,我得到這個錯誤
Cannot refer to a non-final variable first_name inside an inner class defined in a different method
即使我將其更改爲最終我不能使用它。我如何在全班使用它。
請閱讀有關的變量的範圍和壽命。同時我會爲你發佈一個很好的答案。 –
你在'public void onSuccess()'末尾缺少'{''' – user1506104
這個沒有用的評論,並且與這個問題沒有關係。不知何故,他的內容格式出錯了! – Piyush