2014-01-15 32 views
0

在我的項目中,我使用lwuit List(main),並使用自定義渲染器。LWUIT列表項中的自定義可展開組件

我遵循實現可擴展列表項目的目的,即展開/摺疊另一個列表(包裝)。

起初,我創建的Container巴頓和列表(不折疊/展開的行爲),但是當我在主要列表中使用它,我面臨的問題無法選擇項目在包裹名單。

所以,我會高興,如果你能爲我兩個問題:

  1. 我可以修復它使用標準LWUIT工具?
  2. 如何隱藏我的包裝列表通過單擊HeaderBar(能見度只是隱藏內容,但留下很大的差距)?

圖像的清晰度(列表項 - 主要名單的項目,不上的圖像顯示):

expand view

collapsed view

private void fillForm() { 
    mF = new Form(); 
    fillList1(); 
    fillList2(); 
    fillList(); 
    mF.show(); 
} 

private void fillList() { 
    mList = new CList(); 
    mList.setRenderer(new CRenderer());  
    mList.addItem(c1); 
    mList.addItem(c2); 
    mF.addComponent(c1); 
    mF.addComponent(c2); 
} 

private void fillList1() { 
    c1 = new Container(); 
    b1 = new Button();  
    b1.getUnselectedStyle().setBorder(Border.createLineBorder(2, 0x000000)); 
    b1.addActionListener(this); 
    mList1 = new List(); 
    mList1.setName("l1"); 
    mList1.setRenderer(new DefaultListCellRenderer()); 
    mList1.addItem("one"); 
    mList1.addItem("two"); 
    mList1.addItem("three");   
    mList1.addItem("four"); 
    mList1.addItem("five"); 
    c1.addComponent(b1); 
    c1.addComponent(mList1); 
}  

private void fillList2() { 
    c2 = new Container(); 
    b2 = new Button(); 
    b2.getUnselectedStyle().setBorder(Border.createLineBorder(2, 0x000000));    
    b2.addActionListener(this);   
    mList2 = new List(); 
    mList2.setName("l2"); 
    mList2.setRenderer(new DefaultListCellRenderer()); 
    mList2.addItem("путин"); 
    mList2.addItem("ест"); 
    mList2.addItem("детей");   
    mList2.addItem("больше чем"); 
    mList2.addItem("любит родину");  
    c2.addComponent(b2); 
    c2.addComponent(mList2); 
}  

private class CRenderer extends DefaultListCellRenderer { 
    public Component getListCellRendererComponent(List list, Object value, int index, boolean isSelected) { 
     return (Container)value; //To change body of generated methods, choose Tools | Templates. 
    } 
} 
+0

在哪個平臺,你開發這個?你使用諾基亞的SDK嗎? – Mun0n

+0

是的,我使用諾基亞阿莎SDK – ADK

回答

0

這個組件可以解決你的問題?

PopupChoiceGroup

+0

謝謝你的答案,但不能,我建議,因爲我需要使用組內的自定義容器 – ADK