【问题标题】:How to get String[] outside OnCreate()如何在 OnCreate() 之外获取 String[]
【发布时间】:2017-11-09 17:49:33
【问题描述】:

这里我使用以下代码使用 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));

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

【问题讨论】:

  • 声明这个数组为活动变量
  • 在您的类中为 current_name[] 创建全局变量,以便您可以在 Activity 的其他成员函数中访问它。

标签: java android arrays for-loop oncreate


【解决方案1】:

将数组声明为activity的成员并在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();
}

【讨论】:

  • current_name 中只有一个值(即最后一个值)。
  • java.lang.NullPointerException: Attempt to write to null array 现在这是它显示的错误。
【解决方案2】:

试试这个。

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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-14
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 2019-01-05
    • 1970-01-01
    相关资源
    最近更新 更多