如何在j2me中动态创建TextFields?

时间:2011-09-15 11:44:46

标签: java java-me midp lcdui

我们正在j2me中开发移动应用程序。在我的应用程序中,我们在Form.Here中使用TextField和其他一些控件,我的问题是我想基于用户的凭据动态创建TextField。例如,如果输入Manager,然后我想创建一些TextField(基于Manager Selection)来从Manager获取输入。否则,我只想创建小于Manager TextField的TextField。

如何动态创建TextFields ......

例如像这样...

int userSelection=10;

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

这里,我们的问题是,

我想创建具有不同名称的TextField ...

请指导我摆脱这个问题...

2 个答案:

答案 0 :(得分:2)

创建TextField数组并从数组索引引用。

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

答案 1 :(得分:1)

使用正确的参数构造TextField后,代码可能看起来像

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;
    }
// ...