我創建了兩個類。其中之一有參考其他:Arraylist錯誤類中的我的Android
public class SCHOOL {
private String schoolid;
private String schoolname;
private List<STUDENT> students;
}
//getters and setters for schoolid and schoolname;
public void setStudents(List<STUDENT> students) {
this.students = students;
}
public List<STUDENT> getStudents() {
return this.students;
}
public void addStudent(String names, String age) {
STUDENT student = new STUDENT();
student.setNames(names);
student.setAge(age);
students.add(student);
}
public class STUDENT {
private String names;
private String age;
public String getNames() {
return names;
}
public void setNames(String names) {
this.names = names;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
以下是我的主類:
public class MainActivity extends AppCompatActivity {
static final String tag = "Tag Activity";
List<STUDENT> studentList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
SCHOOL school = new SCHOOL();
school.setStudents(studentList);
List<STUDENT> students = school.getStudents();
school.addStudent("kent", "43");
school.addStudent("Winnie", "42");
school.addStudent("Dennis", "41");
studentList.add((STUDENT) students);
Log.d(tag, String.valueOf(studentList));
.......
以下是從我的邏輯錯誤日誌:
11-01 21:25 :24.348 3049-3049/com.example.spidey.jsontosql W/dalvikvm:threadid = 1:線程以未捕獲的異常退出(group = 0xa4cb4b20) 11-01 21:25:24.360 3049-3049/com.example.spidey。 jsontosql E/AndroidRuntime:致命例外:main 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:進程:com.example.spidey.jsontosql,PID:3049 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql/com.example.spidey.jsontosql/com.example.spidey.jsontosql.MainActivity}:java.lang.NullPointerException 11/01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184) 11-01 21:25:24.360 3049-3049/com .example.spidey.jsontosql E/AndroidRuntime:at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:at android.app.ActivityThread.access $ 800(ActivityThread.java:135) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1196) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:at android.os.Handler.dispatchMessage(Handler.java:102) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:在android.os.Looper.loop(Looper.java:136) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:在android.app.ActivityThread。 main(ActivityThread.java:5001) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:在java.lang.reflect.Method.invokeNative(Native Method) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:在java.lang.reflect.Method.invoke(Method.java:515) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:785) 11-01 21 :25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 11-01 21:25:24.360 3049-3049 /com.example.spidey.jsontosql E/AndroidRuntime:at dalvik.system.NativeStart.main(Native Method) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:由:java.lang.NullPointerException 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:at com.example.spidey.jsontosql.SCHOOL.addStudent(SCHOOL.java:50) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:at com.example.spidey.jsontosql.MainActivity.onCreate(MainActivity.j ava:35) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:at android.app.Activity.performCreate(Activity.java:5231) 11-01 21:25 :24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 11-01 21:25:24.360 3049-3049/com.example.spidey .jsontosql E/AndroidRuntime:在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:在android.app。 ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 11-01 21:25:24.360 3049-3049/com.example.spidey。jsontosql E/AndroidRuntime:在android.app.ActivityThread.access $ 800(ActivityThread.java:135) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:在android.app。 ActivityThread $ H.handleMessage(ActivityThread.java:1196) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:在android.os.Handler.dispatchMessage(Handler.java:102 ) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:在android.os.Looper.loop(Looper.java:136) 11-01 21:25:24.360 3049 -3049/com.example.spidey.jsontosql E/AndroidRuntime:at android.app.ActivityThread.main(ActivityThread.java:5001) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:at java.lang.reflect.Method.invokeNative(Native Method) 11-01 21:25:24.360 3049-3049 /com.example.spidey.jsontosql E/AndroidRuntime:在java.lang.reflect.Method.invoke(Method.java:515) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosqlë/AndroidRuntime:在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:785) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:在COM .android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 11-01 21:25:24.360 3049-3049/com.example.spidey.jsontosql E/AndroidRuntime:在dalvik.system.NativeStart.main(本地方法) 11-01 21:30:25.020 3049-3049/com.example.spidey.jsontosql I /過程:發送信號。 PID:3049 SIG:9
我嘗試使用我的addStudent方法輸入數據,但程序崩潰了。我的代碼有問題嗎?請幫我糾正..
你在哪裏聲明(和*初始化*)'studentList'? –
崩潰時顯示什麼錯誤? – JeredM
在我的onCreate類的主要活動中。 – Spidey