User interface 如何从Blackberry中动态生成的editfield中获取值
我需要在运行时动态生成ui组件。我能够生成组件,但我的问题是如何获取在动态生成字段中输入的值 我正在做这样的事情User interface 如何从Blackberry中动态生成的editfield中获取值,user-interface,blackberry,dynamic-ui,blackberry-editfield,User Interface,Blackberry,Dynamic Ui,Blackberry Editfield,我需要在运行时动态生成ui组件。我能够生成组件,但我的问题是如何获取在动态生成字段中输入的值 我正在做这样的事情 final HorizontalFieldManager hfm = new HorizontalFieldManager(); for (int i=0; i<5; i++) { hfm.add(new EditField()); } 最终HorizontalFieldManager hfm=新HorizontalField
final HorizontalFieldManager hfm = new HorizontalFieldManager();
for (int i=0; i<5; i++)
{
hfm.add(new EditField());
}
最终HorizontalFieldManager hfm=新HorizontalFieldManager();
对于(int i=0;i
//做点什么
VerticalFieldManager vfm = new VerticalFieldManager();
for(int i=0 ;i<size ;i++)
{
HorizontalFieldManager hfm = new HorizontalFieldManager();
ef[i] = new EditField();
hfm.add(ef[i]);
vfm.add(hfm);
}
add(vfm);
VerticalFieldManager vfm=新的VerticalFieldManager();
对于(int i=0;i
//做点什么
VerticalFieldManager vfm = new VerticalFieldManager();
for(int i=0 ;i<size ;i++)
{
HorizontalFieldManager hfm = new HorizontalFieldManager();
ef[i] = new EditField();
hfm.add(ef[i]);
vfm.add(hfm);
}
add(vfm);
VerticalFieldManager vfm=新的VerticalFieldManager();
就我所知,对于(int i=0;i,没有办法为EditField设置唯一id。也许您可以使用它的子类,并实现您自己的唯一id机制。
或者,由于您的HorizontalFieldManager只持有EditField,您可以按位置获取字段,并将其转换为EditField。如下所示:
Field f = hfm.getField(index);
EditField ef = (EditField)f;
更新:
公共类MyEditField扩展了EditField{
private int _id;
public MyEditField(int id) {
_id = id;
}
public int getID() {
return _id;
}
}
类MyHfm扩展了HorizontalFieldManager{
//This is a cache, which holds all EditFields.
private IntHashtable_editfields=new IntHashtable()
}
然后你可以这样做:
还有一些其他的删除/添加方法,请记住处理其中的缓存。据我所知,没有办法为EditField设置唯一id。也许您可以使用它的子类,并实现自己的唯一id机制。
或者,由于您的HorizontalFieldManager只持有EditField,您可以按位置获取字段,并将其转换为EditField。如下所示:
Field f = hfm.getField(index);
EditField ef = (EditField)f;
更新:
公共类MyEditField扩展了EditField{
private int _id;
public MyEditField(int id) {
_id = id;
}
public int getID() {
return _id;
}
}
类MyHfm扩展了HorizontalFieldManager{
//This is a cache, which holds all EditFields.
private IntHashtable_editfields=new IntHashtable()
}
然后你可以这样做:
还有一些其他的删除/添加方法,请记住处理其中的缓存。使用and来设置和检索字段上的cookie。您可以使用and来匹配所需的编辑字段。使用and来设置和检索字段上的cookie。您可以使用and来匹配所需的编辑字段。您可以尝试l像这样
Editfield ef = new Editfield();
add(ef);
ef.setcookie("Here you can set object with specific value");
ef.setchangelistner(this);
和字段内更改listner函数
public void fieldChanged(Field field, int context) {
object ob = field.getcookie();
// compare this ob and give appropriate actionss
}
你可以这样试试
Editfield ef = new Editfield();
add(ef);
ef.setcookie("Here you can set object with specific value");
ef.setchangelistner(this);
和字段内更改listner函数
public void fieldChanged(Field field, int context) {
object ob = field.getcookie();
// compare this ob and give appropriate actionss
}
我在记事本中写下这段代码,因此如果代码中有任何拼写错误或拼写错误,请解决它。是否有任何方法可以设置并获取字段的标记、id或名称,以便从特定字段中提取值?@Ajmal请针对具体问题。@Krish我不明白您想要实现什么。请简要说明描述您的要求。什么是标记、id或名称…??我将此代码写在记事本中,因此,如果代码中存在任何拼写错误或拼写错误,请解决它。是否有任何方法将标记、id或名称设置并获取到字段中,以便从特定字段中提取值?@Ajmal请针对该问题。@Krish I do不了解您想要实现什么。请简要描述您的需求。什么是标记、id或名称…??您能给出一些实现唯一id机制的子类示例吗?您能给出一些实现唯一id机制的子类示例吗?