2012-11-15 1 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 블랙 베리 이클립스 플러그인 7.0.1을 사용하고 있는데 필드 배열을 만들려고했지만 작동하지 않았습니다. 나는 이렇게 시험해 보았다. public 목록 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()); 

      } 
관련 문제