1

我在 Blackberry 应用程序的 Horizo​​ntalFieldManager 中添加了一个 buttonField。我在添加 EditField 后添加了它。然而 buttonField 没有出现。下面是我的代码

HorizontalFieldManager hfm = new HorizontlFieldManager(); 
    BasicEditField edit = new BasicEditField("Label", "UP");
    ButtonField button = new ButtonField("Search");
    hfm.add(edit);
    hfm.add(button);
    add(hfm);
4

4 回答 4

2

这个答案不会解决你的问题,但重要的是要注意你的代码绝对没问题,而且没有任何问题。

HorizontalFieldManager类充满了 OS 5.0 中引入的错误,至于今天(最新版本是 7.x),RIM 没有表现出任何修复它的意图。

作为示例,这是BB Developer Issue Tracker 中的一个错误问题,但仍未解决。我不得不在我的最新项目中处理 hfm 并且还面临着我必须通过创建自己的经理来解决的问题,就像Shashank 的回答显示的那样。您可以找到更多关于在 SO 中创建自定义管理器的示例。这里也涵盖了基础知识。

这是目前唯一的解决方案,因为 RIM 正在过渡到 BB 10 (C++),并且他们正在转储 Java API,所以不要指望他们会很快修复它。即使它们是,它也不会被修复,而是在最新的操作系统版本上,这是无用的,因为 BB 设备很少升级。

于 2012-09-17T11:29:34.283 回答
2

您需要设置编辑字段宽度和按钮宽度

protected void layout(int width,int height)
{
super.layout(Display.getWidth() * 3 /4  , getpreferedHeight());
super.setExtent(Display.getWidth() * 3/4    , getpreferedHeight());
}

按钮使用

protected void layout(int width,int height)
{
super.layout(Display.getWidth() /4  , getpreferedHeight());
super.setExtent(Display.getWidth() /4   , getpreferedHeight());
}
于 2012-09-15T17:25:55.783 回答
0

我认为Shashank 基本上是在正确的轨道上,但是对于如何更改ButtonField宽度的更完整示例,我建议您查看此答案

于 2012-09-16T03:28:21.937 回答
-1

将 VerticalFieldManager 替换为 HorizantalFieldManager

于 2012-09-15T08:50:36.847 回答