2016-02-10 41 views
3

你好我在CodenameOne一個新手我現在創建一個使用CodenameOne資源編輯器應用電子商務,我已經使用多重表顯示產品。我檢查了複選框功能,其中我有我的所有項目的複選框。我的問題在這裏是由statemachine中的代碼我如何獲得用戶檢查產品的名稱,以及如何得到複選框是否被選中。我試過實現findMultiList()。getSelected(),但如果我選擇r取消選中,它總是返回true。電子商務應用在CodenameOne

請幫我也將是巨大的,如果你能告訴我怎麼谷歌驅動器集成在我的項目,因爲我需要從Excel工作表中提取數據,然後在列表填充它。

回答

2

你需要在它獲取模型和遍歷元素:

ListModel<Map<String, Object>> model = (ListModel<Map<String, Object>>)findMultiList(c).getModel(); 
ArrayList<Map<String, Object>> items = new ArrayList<>(); 
for(int iter = 0 ; iter < model.getSize() ; iter++) { 
    Map<String, Object> current = model.getItemAt(iter); 
    String checked = (String)current.get("emblem"); 
    if(checked != null && "true".equals(checked)) { 
     items.add(current); 
    } 
} 

我還沒有試過這種代碼,但它應該工作。請注意,名稱爲「徽記」是用於MultiButton/MultiList默認名稱,但可以將其更改爲任何東西。

可以放置在一個破發點的循環,當你穿越他們看到這是如何工作檢查地圖元素。

+0

感謝曬,但我的第二個問題是如何在我的項目谷歌驅動器集成,因爲我需要從Excel工作表中提取數據,並填充它在list.As有鍵值,我可以將它們保存爲鍵值,並通過hastable可以填充來自工作表的數據。那麼是否有任何圖書館可以與谷歌excel表格即谷歌驅動器集成。 – user3517929

+0

僅供參考通常,您應該將問題分解爲單獨的問題,因爲難以遵循。我個人並不熟悉這樣的API,但這取決於你的用例。例如。我猜測驅動器可以選擇將數據發佈爲我們擁有CSVParser類的CSV。 –