我在我的應用程序中使用了一個spinnerbox。 Spinnerbox將被填充來自數據庫的項目。這本身已經起作用。不過,我需要在下拉列表中添加一個項目。 我希望第一個項目是「一般」一般不是一個項目。因此它不從數據庫中檢索。有沒有辦法將它注入光標或適配器?使用光標適配器的android spinner默認值
回答
我設法解決這個以不同的方式,然後我原計劃。但它運作良好。而不是一般選項。我做了一個複選框。它被檢查,然後它的一般和微調器被設置。如果未選中,它將被設置爲啓用。這適用於我的情況。
前段時間我遇到了同樣的問題.. 問題是你實際上無法將信息插入到遊標中(因爲它只是一個指針),所以我相信你必須在中間有某種介體.. 我的解決方法是簡單地創建一個字符串數組[cursor.getCount + 1] ,然後在[0]中插入您的「常規」,然後通過您的光標插入其餘的。
它確實通過該項目額外的一輪(對我而言並不是那麼糟糕),但是對於長長的列表,您可能想要重寫該適配器並在它穿過光標前插入一行,我無法幫助您完成該代碼。
嘿喬。感謝您的答覆。我試過這樣做。但是,如果它不是一般的,我可以從選定的項目中獲得ID,名稱等,這一點非常重要。項目名稱可能會出現兩次。不如把你的邏輯放在決定之後。但那是它應該如何去的。 –
我明白了...好吧,我有另一個想法,但我不完全確定它的可能性。可能會將您的數據排列在MatrixCursor中(將數據庫光標合併到它中)。即時通訊不知道simpleCursorAdaptar是否足夠,因爲我不能想到在哪裏存儲這些額外的信息(除了標籤或不可見的視圖),所以也許在這個解決方案中重寫適配器也是必要的。讓我知道你是否知道這一點。 – Joe
我以不同的方式解決了這個問題。它很簡單,我完全沒有想到它在x.x –
對我來說有效的是在sql查詢中做一個UNION。
dbStatic.rawQuery(
" SELECT 2 as deftop, typeid as _id, typename as label FROM objtypes UNION "+
" SELECT 1 as deftop, -1 as _id, "+strDefaultSpinner+" as label "+
" ORDER BY deftop asc, label ", null
);
如果選擇的項目是-1,那麼它是默認值。否則它是來自表格的記錄。
- 1. Android Spinner默認值問題
- 2. Spinner中的適配器,Android
- 3. 光標適配器Android
- 4. 來自Db的Android Spinner - 默認值= null?
- 5. 在Android中使用自定義適配器爲Spinner設置值
- 6. Android上的光標適配器和GalleryView
- 7. android中的光標適配器
- 8. Android中陣列適配器和光標適配器的區別
- 9. android:光標適配器空指針
- 10. Android簡單光標適配器
- 11. 最好使用光標適配器或陣列適配器
- 12. 使用光標適配器的Android表格
- 13. 爲什麼不設置Spinner Android的值。我使用光標?
- 14. Android:使用光標適配器顯示來自sqlite的數據
- 15. 在默認Android主題中使用自定義ListView適配器
- 16. 如何設置Spinner默認值的值而不是位置?
- 17. Android - 僅在適配器中顯示Spinner的值1
- 18. 如果列值爲'None',則使用光標插入默認值
- 19. SQLiteDatabase中的SimpleCursorAdapter光標無法在Spinner適配器中正確顯示
- 20. WPF中的默認光標?
- 21. WPF拖動光標在默認光標
- 22. 使用帶有多個表格光標的光標適配器(內部連接)
- 23. 帶有ImageView的光標適配器
- 24. 從簡單的光標適配器填充微調器
- 25. 帶多選的光標適配器
- 26. jtextfield默認光標位置
- 27. JSP默認光標位置
- 28. 在適配器中使用的ImageView中的默認圖像
- 29. 將光標實施到recyclerview適配器
- 30. 的Android使用適配器
不明白你的解決方案 – max4ever