2012-11-15 35 views
1

我正在開發一個應用程序,我需要生成一個動態EditField。我能夠生成這個,但是當我嘗試從這些字段中獲取值時,我將獲得屏幕上爲所有字段生成的最後EditField的值。從黑莓動態生成的basicEditField獲取價值

我粘貼下面的一些J2ME代碼,但我不知道如何獲得與BlackBerry API調用相同的效果。

EditField ef; 

for(int i = 0; i < 10; i++){ 
    EditField ef = new EditField("Name : "+i, ""); 
    add(ef); 
    add(new SeparatorField()); 
} 


for(int i = 0; i < 10 ; i++){ 
    System.out.println(""+ef.getText()); 
}         

private TextField fld, fld1; 

for (int i = 0; i < 5; i++) { 
    fld = new TextField("Name :", null, 30, TextField.ANY); 
    append(fld); 
} 


for (int i = 0; i < 5; i++) { 
    fld1 = (TextField) this.get(i); 
    System.out.println(""+fld1.getString()); 
} 
+0

創建字段的陣列。然後將該數組添加到屏幕上。 – Signare

+0

@BlackPearl我正在使用Blackberry Eclipse插件7.0.1,並試圖創建字段數組,但它不起作用。我試過這樣。 public List allEds = new ArrayList ();但似乎7.0.1不支持這一點。你可以在5.0或更低版本中使用相同的語法。任何想法? – techniqez

回答

0
I got my problem Solved. This answer is for those who are interested in it. 

EditField ef; 
Hashtable allEds = new Hashtable(); 

      for(int i = 0; i < 10; i++){ 
      EditField ef = new EditField("Name : "+i, ""); 
      add(ef); 
      add(new SeparatorField()); 
      allEds.put(""+i, ef); 
      } 


Enumeration e = allEds.elements(); 

while(e.hasMoreElements()){ 
       System.out.println(""+e.nextElement().toString()); 

      }