2011-09-15 74 views
2

我們在j2me中開發移動應用程序。在我的應用程序中,我們在Form.Here中使用TextField和一些其他控件,我的問題是我想根據用戶的憑證動態創建TextField。例如,如果輸入管理器,則我想創建特定的TextField(基於經理選擇)從Manager獲取輸入。否則,我只想創建小於Manager TextField的TextField。如何在j2me中動態創建TextFields?

如何創建的TextField動態...

例如像這樣...

int userSelection=10; 

for(int i=0;i<userSelection;i++) 
    TextField text=new TextField("Some Name",null); 

在這裏,我們的問題是,

我想創建文本字段隨着不同的名稱..

請指導我擺脫這個問題...

+1

你使用的是什麼API?例如,在midp lcdui [TextField](http://download.oracle.com/javame/config/cldc/ref-impl/midp2.0/jsr118/javax/microedition/lcdui/TextField.html)中,根本沒有構造函數將允許'新的TextField(「某個名稱」,空)' – gnat

+0

我正在使用midp ludcui – Saravanan

+0

是的,它不適用於MIDP 2.0。看看我的答案。並像那樣使用。 – bharath

回答

2

創建TextField數組並引用數組索引。

TextField[] textFields = new TextField[10]; 
for (int i = 0; i < textFields.length; i++) { 
    textFields[0] = new TextField(label, text, maxSize, constraint); 
} 
1

你使用正確的參數來構建文本字段後,代碼可能看起來像

import javax.microedition.lcdui.TextField; 
import java.util.Vector; 
// ... 
    Vector newTextFields(int userSelection) { 
     // neither List nor generics in midp sorry 

     final int MAX_SIZE = 42; 
     final Vector list = new Vector(); 
     for(int i=0; i < userSelection; i++) { 
      list.addElement(new TextField("Name #" + i, null, 
        MAX_SIZE, TextField.ANY); 
     } 
     return list; 
    } 
// ...