这里我使用以下代码使用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
。通过使用此代码,我无法Log
在OnCreate
之外。所以请帮我解决这个问题。答案将不胜感激。
答案 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。