我寫一個Android應用程序(目標在的Android版本2.1以上)。我正在使用ExpandableListView
和SimpleCursorTreeAdapter
。我發現它會按照以下順序崩潰:的Android ExpandableListView SimpleCursorTreeAdapter啓動空會崩潰
ExpandableListView
啓動爲空(即數據庫中沒有對應的記錄)。- 添加記錄。
- 返回屏幕
ExpandableListView
。現在,顯示組。 - 點擊羣組展開,活動將被迫關閉。
經過互聯網搜索的天,我的應用程序的來源,然後痛苦的跟蹤,然後Android的平臺源,
似乎問題是:在Android平臺上啓動i將SimpleCursorTreeAdapter
,
將存儲的列表子女在私人成員mChildFrom
實例化和(奇怪)ON條件如果至少有一個組。如果沒有記錄(因此沒有組),則不存儲子字段列表。當記錄隨後添加以及將組展開爲顯示的子行時,ExpandableListView
將因爲私人成員mChildFrom
爲空而崩潰。
因此,我現在的解決方法是:如果數據庫中存在相關記錄,那麼只能實例化SimpleCursorTreeAdapter
。如果沒有,請在OnResume()
期間重試實例化。
這將幫助我(或有同樣的問題其他貧困人)如果任何人有墜機更好的理由,或者有更好的解決方案。 (我傾向於認爲,這是在Android平臺上的錯誤。)
你能顯示你的活動代碼嗎? – Flo 2011-06-17 10:00:18
@Flo,我真的不想發表冗長的代碼(會有相關ExpandableListView,SimpleCursorTreeAdapter,數據庫訪問等代碼)如果證明這個問題是獨一無二的,我和別人無法重現問題,我將再次在我的代碼上鑽取。我的工作似乎很好,但我真的想要一個更優雅/直接的解決方案。 – Yam 2011-06-17 10:32:28
我做類似的位置http://stackoverflow.com/questions/10611927/simplecursortreeadapter-and-cursorloader東西 – toobsco42 2012-05-16 05:14:18