2011-10-13 35 views
0

我编写了一个简单的程序,只要选中复选框中的某个字段,就会推送到另一个屏幕。这是代码: 如何发送作为参数检查的复选框字段pushScreen

public MyScreen() 
{   
    // Set the displayed title of the screen  
    setTitle("SFTS"); 

    LabelField dateLabel = new LabelField("Today's Route Paln",Field.FIELD_HCENTER); 

    add(dateLabel); 
    _dateField = new DateField("Date/time: ", System.currentTimeMillis(), DateField.DATE_TIME); 
    add(_dateField);   

    add(new SeparatorField()); 

    for(i=0;i<name.length;i++) 
    { 
     s[i]=new CheckboxField(name[i]+","+addr[i]+","+time[i],false); 
     add(s[i]); 
     s[i].setChangeListener(f); 
    }  
}  

FieldChangeListener f=new FieldChangeListener() { 

    public void fieldChanged(Field field, int context) { 
     UiApplication.getUiApplication().pushScreen(new secondscreen(field)); 
    } 

}; 

编译时没有错误,但每当我检查复选框中的字段,我在模拟器中得到一个IllegalStateExcpetion。请帮助我。谢谢

回答

0

您需要声明复选框的大小。

s = new CheckboxField [name.length];

试试这个, 我认为你有解决方案。

+0

我已经做了 – Pramod

+0

add(new SeparatorField()); 在SeparatorField()中传递一些数据; –

+0

replace add(new SeparatorField()); 到 add(new SeparatorField(2)); –

相关问题