2011-09-15 56 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; 
    } 
// ...