2011-10-13 34 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)); –

相關問題