[問題] 改寫SimpleCursorAdapter的bindView問題

看板AndroidDev作者 (天使的羽翼)時間12年前 (2013/07/19 00:25), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
先簡短說明一下為何要改寫SimpleCursorAdapter的bindView的原因, 我透過SQLite搜尋資料庫抓下來的資料丟進Cursor後再透過我寫的一個繼承 SimpleCursorAdapter的Adapter把資料給ListView 我想要讓資料排列順序是倒反的,預設情況是先讀進來的資料在上面,後來的往下擠 網路搜尋了各種方法,似乎都指向只能透過SQL語言去做Order By的動作,但是我比較想 在Adapter內去做順序交換的動作,因此我去Git Hub網站http://ppt.cc/2N26 找到的了SimpleCursorAdapter.java的原始碼,而試圖想透過改寫bindView的內容來 達到我想要的功能,但是我發現他原始的程式碼有用到的變數(用protected宣告) protected int[] mFrom; 與 protected int[] mTo; ,我卻不能用super.的方式進行呼叫,不知道是我找到的程式碼不對還是這樣的呼叫方法 是錯誤的? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.184.112

07/19 00:34, , 1F
如果你沒有重新定義的話,直接用就好了呀
07/19 00:34, 1F
我直接用了(其實我是先直接把原始碼的bindView整份複製下來使用),但是編譯器不認得 mFrom與mTo兩個變數 ※ 編輯: bemyangel 來自: 219.85.184.112 (07/19 00:39) ※ 編輯: bemyangel 來自: 219.85.184.112 (07/19 00:53) 我重新仔細看過SimpleCursorAdapter.java,他的註解有說明mFrom和mTo應該要是 private的,所以在SDK中會被隱藏..,看樣子其實這兩個變數不該被修改, 看樣子只剩修改SQL語言這個方法了 ※ 編輯: bemyangel 來自: 219.85.184.112 (07/19 01:15)

07/19 12:29, , 2F
SQL Language is evil, use ORM instead =P
07/19 12:29, 2F

07/19 12:30, , 3F
另外按照你的需求的話 把資料撈出來灌到MatrixCursor
07/19 12:30, 3F

07/19 12:30, , 4F
會是比較make sense的做法
07/19 12:30, 4F

07/24 10:27, , 5F
寫一個adapter把原本的adapter包起來呢?
07/24 10:27, 5F
文章代碼(AID): #1Hw1RYAx (AndroidDev)