此 -
import net.rim.device.api.ui.container.VerticalFieldManager;
public class FixedHeightVerticalFieldManager extends VerticalFieldManager
{
private int height;
public FixedHeightVerticalFieldManager(int height)
{
super();
this.height = height;
}
protected void sublayout(int maxWidth, int maxHeight)
{
super.sublayout(maxWidth, height);
setExtent(height);
}
}
- 导致模拟器挂起运行时异常net.rim.device.api.ui.ScrollView not found
。这似乎是由对setExtent
的调用引起的,VerticalFieldManager
是从Field
继承的方法{{1}},它位于模拟器设置使用的4.6 API中。为什么? ScrollView与任何事情有什么关系?
答案 0 :(得分:3)
net.rim.device.api.ui.ScrollView
- 这就是原因。因此,当您尝试在4.6 OS模拟器上运行时,我怀疑您在代码中的某处使用了ScrollView
。
还有什么API版本用于构建项目?通常(如果您使用4.6 API lib / JDE),您应该在构建步骤中遇到此错误(与运行时相比)。
<强>更新强>:
我真的不知道为什么这与setExtent()
有关。
我怀疑你最有可能使用API 6进行编译。对于API 6,继承链看起来像Field
&gt; ScrollView
&gt; Manager
&gt; VerticalFieldManager
,因此当您编译VerticalFieldManager
时,它可能会使用ScrollView
。也许这就是你在API 4.6模拟器上得到错误的原因。您可以尝试在任何OS 6.0模拟器上运行您的应用程序来测试这个想法。我相信它不应该给出这个错误。
P.S。我没有太多使用BB Eclipse插件(一旦我尝试过,但由于某些问题而拒绝了),所以我不知道究竟在哪里检查API版本。但肯定有必要检查一下。