Blackberry 设置自动完成字段行高
我正在使用drawListRow重新绘制“自动完成”字段,但设置字段高度时遇到问题,下面是我的代码:Blackberry 设置自动完成字段行高,blackberry,java-me,blackberry-jde,Blackberry,Java Me,Blackberry Jde,我正在使用drawListRow重新绘制“自动完成”字段,但设置字段高度时遇到问题,下面是我的代码: autoCustomer = new AutoCompleteField(custList, style){ public void drawListRow(ListField clistField, Graphics g, int index, int y, int width) { BasicFilteredL
autoCustomer = new AutoCompleteField(custList, style){
public void drawListRow(ListField clistField, Graphics g,
int index, int y, int width) {
BasicFilteredListResult result = (BasicFilteredListResult)
autoCustomer.get(clistField, index);//);
if (result == null)
return;
String[] stringArray = parseMessage(result._object.toString(), Font.getDefault().derive(Font.PLAIN),fontSize, width-30);
int i;
int yCoord = 0;
int xCoord = 0;
//int rowHeight = (stringArray.length * fontHeight)+3;
clistField.setRowHeight((stringArray.length * fontHeight)+3); //already did this, but it won't work
System.out.println(stringArray.length);
g.setFont( Font.getDefault().derive(Font.PLAIN,fontSize,Ui.UNITS_px));
for(i = 0;i<stringArray.length;i++){
yCoord = y + (fontHeight*(i));
if(i>0)
xCoord = 20;
g.drawText(stringArray[i].trim() , xCoord, yCoord, (DrawStyle.LEFT | DrawStyle.ELLIPSIS | DrawStyle.TOP ), width-20);
}
}
autoCustomer=新的自动完成字段(客户列表,样式){
公共无效drawListRow(ListField clistField,图形g,
整数索引,整数y,整数宽度){
BasicFilteredListResult=(BasicFilteredListResult)
autoCustomer.get(clistField,index);//);
如果(结果==null)
返回;
String[]stringArray=parseMessage(result.\u object.toString(),Font.getDefault()。派生(Font.PLAIN),fontSize,width-30);
int i;
int yCoord=0;
int xCoord=0;
//int rowHeight=(stringArray.length*fontHeight)+3;
clistField.setRowHeight((stringArray.length*fontHeight)+3);//已执行此操作,但无法正常工作
System.out.println(stringArray.length);
g、 setFont(Font.getDefault().derivate(Font.PLAIN、fontSize、Ui.UNITS\u px));
对于(i=0;i0)
xCoord=20;
g、 drawText(stringArray[i].trim(),xCoord,yCoord,(DrawStyle.LEFT | DrawStyle.省略号| DrawStyle.TOP),宽度-20);
}
}
使用此自动完成功能,我应该做些什么来设置适当的行高?
我无意中找到了答案,第一个参数是列表的索引,第二个参数是高度。
文档中没有提到这一点,我只在eclipse中类的文档中找到了setRowHeight(intarg0,intarg1)。
解决办法很简单
clistField.setRowHeight(index,(stringArray.length * fontHeight)+3);
我一直在尝试创建与您创建的文本框一样的文本框。请您指导如何开发其中一个文本框。请检查我是如何尝试的,但没有找到任何运气。哪一个?是自动完成吗?是的。我希望我的文本字段中有用于抓取输入的框。我遇到的大多数示例都演示了如何使用跨越整个屏幕宽度的边框。您能否建议一种可能的开发方法。