BB java objectchoicefiled应该在选择其他objectchoicefield中的一个值时自动显示,即onchange功能

时间:2012-10-29 07:28:59

标签: blackberry blackberry-eclipse-plugin blackberry-jde

您正在尝试通过数组中的数据集显示objectchoicefield。通过选择与其他数组自动比较,另一个objectchoicefield应该显示相应的matches.ie,onchange函数,另一个objectchoicefield应该加载值。指导我。

Document document=generalXmlAccess.access(generalXmlAccess.getArea());
NodeList list2=document.getElementsByTagName("tuple");  
final String[] area = new String [list2.getLength()];
final String[] areaid = new String [list2.getLength()];

for(int i=0;i<list2.getLength();i++) 
{
    NodeList list=document.getElementsByTagName("NAME");  
    NodeList list3=document.getElementsByTagName("ROW_ID"); 
    area[i]=list.item(i).getFirstChild().toString()+"-"+list3.item(i).getFirstChild().toString(); 
    areaid[i]=list3.item(i).getFirstChild().toString(); 
}

final ObjectChoiceField choiceField=new ObjectChoiceField("Select Area",area);    
choiceField.setChangeListener(new FieldChangeListener() {

public void fieldChanged(Field field, int context) {
    if(field.equals(choiceField))
    {
            int index=choiceField.getSelectedIndex();
            String values=areaid[index].toString(); 
            Document document1=generalXmlAccess.access(generalXmlAccess.getSubArea());
            NodeList list3=document1.getElementsByTagName("tuple");   
            for(int i=0;i<list3.getLength();i++)
            {
                subareaid=new String[list3.getLength()]; 
                NodeList nodeList=document1.getElementsByTagName("PAR_ROW_ID"); 
                if(nodeList.item(i).getFirstChild().toString().equals(values))
                {
                    NodeList list=document1.getElementsByTagName("NAME");
                    subareaid[i]=list.item(i).getFirstChild().toString();
                }
                add(new ObjectChoiceField("Subarea", subareaid)); 
            }
    }
}
});

choiceField.setFont(font1);

1 个答案:

答案 0 :(得分:1)

我认为,以下步骤可能会指导您。

第1步:首先使用其数据创建objectchoicefield

第2步:实现其字段更改侦听器,您将在其中使用第一个choicefield的选定值作为参数,以将相应值的数组设置为第二个{{ 1}} ..