我有一個問題,我有一個可設置並獲取多個列表的序列化類。我添加了一個列表,但是當我想從getter方法獲取該列表時,它返回NullPointerException。這就是爲什麼我在這裏提到的錯誤和Setter和Getter方法來解釋問題以及我如何檢索它。我不知道爲什麼,也不知道它將如何刪除?任何人都可以幫我解決這個問題嗎?從類中獲取列表時出錯
錯誤堆棧:
09-24 13:04:18.923: ERROR/AndroidRuntime(529): FATAL EXCEPTION: main
09-24 13:04:18.923: ERROR/AndroidRuntime(529): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.equinix.android.common/com.equinix.android.showmyorders.ShowMyOrders}: java.lang.NullPointerException
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at android.os.Handler.dispatchMessage(Handler.java:99)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at android.os.Looper.loop(Looper.java:123)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at android.app.ActivityThread.main(ActivityThread.java:4627)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at java.lang.reflect.Method.invokeNative(Native Method)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at java.lang.reflect.Method.invoke(Method.java:521)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at dalvik.system.NativeStart.main(Native Method)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): Caused by: java.lang.NullPointerException
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at com.equinix.android.showmyorders.ShowMyOrders.onCreate(ShowMyOrders.java:87)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-24 13:04:18.923: ERROR/AndroidRuntime(529): ... 11 more
類設置和獲取列表:
package com.equinix.android.model;
import java.io.Serializable;
import java.util.List;
public class BaseIBXValues implements Serializable{
private static final long serialVersionUID = 7526472295622776147L;
private List<String> IBXId;
private List<String> IBXName;
private List<String> IBXNaturalKey;
public List<String> getIBXId()
{
return IBXId;
}
public void setIBXId(List<String> IBXId)
{
this.IBXId = IBXId;
}
public List<String> getIBXName()
{
return IBXName;
}
public void setIBXName(List<String> IBXName)
{
this.IBXName = IBXName;
}
public List<String> getIBXNaturalKey()
{
return IBXNaturalKey;
}
public void setIBXNaturalKey(List<String> IBXNaturalKey)
{
this.IBXNaturalKey = IBXNaturalKey;
}
}
**Code for Setting the value of arraylist:**
public class Parse_Json {
String json_String;
List<String> IBXId;
BaseIBXValues ibx;------> It is the class where setter and getter mentioned
public Parse_Json(String json_String)
{
this.json_String = json_String;
}
public void parse()
{
ibx = new BaseIBXValues();
try{
JSONObject ja = new JSONObject(json_String);
JSONArray jo = ja.getJSONArray("ibx");
for(int i=0;i<jo.length();i++)
{
JSONObject j_data = jo.getJSONObject(i);
System.out.println("The id is:"+j_data.getString("id"));
IBXId.add(j_data.getString("id"));
LoginScreen.id.add(j_data.getString("id"));
System.out.println("The Name is:"+j_data.getString("name"));
LoginScreen.name.add(j_data.getString("name"));
System.out.println("The naturalKey is:"+j_data.getString("naturalKey"));
LoginScreen.naturalKey.add(j_data.getString("naturalKey"));
}
}catch(Exception e)
{
e.printStackTrace();
}
ibx.setIBXId(IBXId);------------> set the list
}
從吸氣獲取列表:
ibx = new BaseIBXValues();
ibId = ibx.getIBXId();
for(int i=0;i<6;i++)
{
System.out.println("The IBX ID:"+ibId.get(i));
}
什麼在ShowMyOrders線87? –