我收到了一個「java.lang.StackOverflowError」錯誤。上下文StackOverflowError
這是代碼:
08-30 10:34:49.528: E/AndroidRuntime(22897): FATAL EXCEPTION: main
08-30 10:34:49.528: E/AndroidRuntime(22897): java.lang.StackOverflowError
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications.java:28)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.RejectedNotifications.<init>(RejectedNotifications.java:27)
08-30 10:34:49.528: E/AndroidRuntime(22897): at com.silm.database.ApprovedNotifications.<init>(ApprovedNotifications
有關項目:
爲什麼我想做的事:
我想點擊一個確認按鈕來保存通知/消息給批准的通知/消息數據庫。但我注意到當我點擊Aprrove按鈕時,它被插入,當點擊Rejected按鈕時,它也被插入到Rejected表中。因此,我檢查是否不在被拒絕的表中,然後將其插入批准表。所有工作都很好,但是當我做同樣的事情(從批准中刪除通知並插入拒絕),然後我得到了StackOverFlow錯誤。
這裏是代碼生成錯誤:
public RejectedNotifications(Context context) {
super(context, TABLE_NAME_REJECTED_NOTIFICATION, null, DATABASE_VERSION);
***approved = new ApprovedNotifications(context);***
}
的核準表中的其他數據庫處理程序是一樣的有關代碼:
public ApprovedNotifications(Context context) {
super(context, TABLE_NAME_APPROVED_NOTIFICATION, null, DATABASE_VERSION);
rejected = new RejectedNotifications(context);
}
你顯然有一些無盡的調用循環 – fiddler