如何在OnCreate()之外获取String []

时间:2017-06-08 06:46:02

标签: java android arrays for-loop oncreate

这里我使用以下代码使用for循环创建string current[]

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_imageactivity);

    Intent intent = getIntent();
    String jsonArray = intent.getStringExtra("jsonArray");
   try {
        JSONArray array = new JSONArray(jsonArray);
        for (int i = 0; i < array.length(); i++) {
           JSONObject obj = array.getJSONObject(i);
            String current_name[] = { obj.getString("current_name") }; // array
       }
    } catch (JSONException e) {
        e.printStackTrace();
    }
}    

// Log.e(TAG,"VALUES" + Arrays.toString(current_name));

现在我想在current_name[]之外或其他方法中调用此OnCreate。通过使用此代码,我无法LogOnCreate之外。所以请帮我解决这个问题。答案将不胜感激。

2 个答案:

答案 0 :(得分:0)

将数组声明为活动的成员,并在onCreate中仅初始化它

try {
    JSONArray array = new JSONArray(jsonArray);
    for (int i = 0; i < array.length(); i++) {
       JSONObject obj = array.getJSONObject(i);
        current_name[i] =  obj.getString("current_name"); 
   }
} catch (JSONException e) {
    e.printStackTrace();
}

答案 1 :(得分:0)

尝试这个。

String current_name[] = {};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_imageactivity);

Intent intent = getIntent();
String jsonArray = intent.getStringExtra("jsonArray");
try {
    JSONArray array = new JSONArray(jsonArray);
    for (int i = 0; i < array.length(); i++) {
        JSONObject obj = array.getJSONObject(i);
        current_name[i] =obj.getString("current_name"); // array
   }
} catch (JSONException e) {
    e.printStackTrace();
}
}

现在您可以从oncreate中访问String。