在我的应用程序中,我有两种类型的编辑域.其中一个行为类似于单行编辑域,另一个行为类似于多行编辑域(editarea).在这个屏幕中,我有一个标题,一个编辑区和一个编辑区.当我输入一些文本时editfield,它会剪切文本和光标.但是,当我输入一些editarea包含尾部字符(y,g,q,p)editarea的文本时,高度正在变化并且editfield正常.如果我不输入尾部字符,stuation不会改变.
这是我的editarea课程:
public class EditAreaField extends HorizontalFieldManager{
private net.rim.device.api.ui.component.EditField editArea;
public EditAreaField (){
// some code;
editArea.setPadding(25, 10, 0, 10);
}
public int getPreferredHeight() {
int height = Math.max(editArea.getHeight(), textFont.getHeight());
return height + editArea.getPaddingTop();
}
}
Run Code Online (Sandbox Code Playgroud)
label1 - > editfield
label2 - > editarea

我试图组合一个看起来像这样的对话框:
填写以下字段
_______________喜欢____________________
其中"_"行是EditFields.
我将所有字段都粘贴在HorizontalFieldManager中,我将其添加到对话框中.不幸的是,第一个EditField占用了第一行的所有空间.我试图通过创建我自己的扩展BasicEditField的类来覆盖EditField的getPreferredWidth()方法,但是没有成功.
当然必须有一种简单的方法来强制编辑字段的特定大小.我错过了什么?
我想EditField在我的BlackBerry应用程序中设置一个高度和宽度.