如何从黑莓中动态生成的编辑字段获取价值
我需要在运行时动态生成 ui 组件。我能够生成组件,但我的问题是如何获取动态生成字段中输入的值?
我正在做这样的事情。
final HorizontalFieldManager hfm = new HorizontalFieldManager();
for (int i=0; i<5; i++)
{
hfm.add(new EditField());
}
有没有办法设置字段的标签,然后我们可以通过标签找到控制?
I need to generate ui component dynamically at runtime. I am able to generate the component, but my problem is how to get value entered in dynamically generated field?
I am doing something like this.
final HorizontalFieldManager hfm = new HorizontalFieldManager();
for (int i=0; i<5; i++)
{
hfm.add(new EditField());
}
Is there any way to set tag of field and later we could find control by tag?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用 Field.setCookie(Object) 和 Field.getCookie () 在字段上设置和检索 cookie。您可以使用它来按照您想要的方式匹配编辑字段。
Use Field.setCookie(Object) and Field.getCookie() to set and retrieve a cookie on the field. You can use this to match up the edit field the way you want.
据我所知,没有办法为 EditField 设置唯一的 id。也许你可以使用它的子类,并实现你自己独特的 id 机制。
或者,由于 HorizontalFieldManager 仅包含 EditField,因此您可以按位置获取字段,并将其转换为 EditField。像这样:
更新:
<代码>
公共类 MyEditField 扩展 EditField {
}
类 MyHfm 扩展 HorizontalFieldManager {
私有 IntHashtable _editfields = new IntHashtable();
<代码>}
然后你可以这样做:
还有一些其他的删除/添加方法,记得处理它们内部的缓存。
As far as I know, there is no way to set a unique id for an EditField. Maybe you can use a sub class of it, and implement your own unique id mechanism.
Or, as your HorizontalFieldManager holds nothing but EditField, you can get a field by position, and cast it to EditField. Like this:
UPDATE:
public class MyEditField extends EditField {
}
class MyHfm extends HorizontalFieldManager {
private IntHashtable _editfields = new IntHashtable();
}
And then you can do like this:
There are some other delete/add methods, remember to handle the cache inside them.
//做一些事情
//完成创建UI
//开始从EditField获取值
//Do something
//complete Creating UI
// Start getting value from EditField
您可以像这样尝试
并在字段更改列表器功能中
You can Try like this
and in field change listner function