从黑莓中动态生成的 basicEditField 获取价值

Posted

技术标签:

【中文标题】从黑莓中动态生成的 basicEditField 获取价值【英文标题】:Getting value from dynamically generated basicEditField in Blackberry 【发布时间】:2012-11-15 12:12:40 【问题描述】:

我正在开发一个需要生成动态EditField 的应用程序。我能够生成这个,但是当我尝试从这些字段中获取值时,我会在屏幕中为所有字段生成最后一个 EditField 的值。

我在下面粘贴一些 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());

【问题讨论】:

创建字段数组。然后将该数组添加到您的屏幕。 @BlackPearl 我正在使用 Blackberry Eclipse 插件 7.0.1,我尝试创建字段数组,但它不起作用。我试过这样。 public List allEds = new ArrayList();但似乎 7.0.1 不支持这一点。您可以在 5.0 或更低版本中使用相同的语法。有什么想法吗? 【参考方案1】:
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());

            

【讨论】:

以上是关于从黑莓中动态生成的 basicEditField 获取价值的主要内容,如果未能解决你的问题,请参考以下文章

如何在黑莓中运行工作灯的本机代码[关闭]

在黑莓中无延迟播放音频

获取黑莓中的模块名称

黑莓中的Phonegap地理定位

如何在黑莓中裁剪具有特定形状的图像?

黑莓中的自定义文本框