我目前正在開發一個應用程序,該應用程序使用數據庫/ ContentProvider提供從網絡中拉出並定期存儲在數據庫中的某些位置數據。奇數光標行爲
我已驗證數據庫是在應用程序中正確創建的,並且通過將應用程序本地數據庫的副本導出到SD卡以在SQL瀏覽器中查看來填充數據表 - 所以數據不是在場並不是問題。
奇怪的行爲可能會更好過了幾個我的調試過程中的截屏的可視化:
所以,最初的時候我做了我的疑問,我所有的Cursor
對象是爲行數返回-1,甚至儘管我驗證了SELECT * FROM TABLE_NAME
語句應該返回值,因爲從設備中取出的數據庫包含行數據。下面就來看看在調試器步:
注意,當光標開始返回,mCount顯示爲-1。
出於好奇,我添加了cursor.moveToFirst();打電話,而這裏的從步驟後的屏幕截圖:
注意,光標計數改變從-1到3,其對應於正確的行數(因爲應用程序只佔3個大洲大氣壓)。不幸的是,這個應該是不必要的添加行仍然不能解決我的問題,因爲CursorAdapter.bindView()和CursorAdapter.newView()仍然無法使用生成的遊標進行調用。
我很困惑什麼可能導致此問題,以及如何解決它?如果任何人都可以提供有關問題的信息,請告訴我。此外,如果需要額外的代碼,比如SQL創建語句等,讓我知道 - 但是,正如我已經提到的那樣,數據庫創建正常,並且在Android應用程序之外的導出數據庫副本上執行的查詢工作得很好...
最後一件事,該應用程序是爲API等級14+構建的。
啊,我之前沒有意識到那種行爲。謝謝。我仍然遇到CursorAdapter.bindView()和CursorAdapter.newView()沒有被調用的問題......但我想這可能是一個單獨的問題。 – Submersed