如何在整个类中使用内部类变量

时间:2016-09-20 05:17:37

标签: android loopj

我有一个像这样的方法来使用loopj从webservices获取firstname。

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

即使我将其更改为最终版本,我也无法使用它。我如何在全班使用它。

2 个答案:

答案 0 :(得分:1)

String first_Name

声明副功能

答案 1 :(得分:0)

您无法直接获取内部类变量的引用,而是在外部类中声明并在内部类中赋值。然后,您可以从任何类中访问该变量。