2012-12-14 33 views
1

我想要一個文本字段,它用於輸入數字。我想讓它成爲中心。並希望允許使用數字鍵盤。編輯FIELD - 中心和黑莓數字鍵盤

它在BB OS 5下工作正常,當使用BB OS 6/7/7.1時,我無法顯示數字鍵盤。

Follwing是代碼:

txtEventNumber = new RichTextField(RichTextField.TEXT_ALIGN_HCENTER) { 
public void paint(Graphics graphics) { 
super.paint(graphics); 
int oldColor = Color.GRAY; 
graphics.setBackgroundColor(Color.WHITE); 
graphics.setColor(TEXT_COLOR); 
Font font = this.getFont().derive(Font.EMBOSSED_EFFECT, 20); 
this.setFont(font); 
graphics.drawRoundRect(0, 0, getWidth(), getHeight(), 10, 10); 
graphics.setColor(oldColor); 
super.paint(graphics); 
} 
public int getPreferredHeight() { 
return super.getPreferredHeight() + ADD_MARGIN; 
} 
protected void onFocus(int direction) { 
if (Touchscreen.isSupported() && getScreen().getVirtualKeyboard() != null) 
// Show keyboard 
getScreen().getVirtualKeyboard().setVisibility(VirtualKeyboard.SHOW); 
}; 
protected void onUnfocus() { 
if (Touchscreen.isSupported() && getScreen().getVirtualKeyboard() != null) 
// Hide keyboard 
getScreen().getVirtualKeyboard().setVisibility(VirtualKeyboard.HIDE_FORCE); 
}; 
}; 
txtEventNumber.setEditable(true); 
// can enter only numeric digits 
if (Touchscreen.isSupported()) 
// show numeric keypad 
txtEventNumber.setFilter(TextFilter.get(TextFilter.DEFAULT_SMART_PHONE)); 
else 
txtEventNumber.setFilter(TextFilter.get(TextFilter.REAL_NUMERIC)); 
txtEventNumber.setMargin(10, 10, 0, 10); 

回答

0

我已經使用了HFM並在其中添加了編輯字段。 還使用keyChar()方法在每個鍵操作上設置光標位置。

這就是爲什麼我使用編輯字段將光標位置設置在虛擬數字小鍵盤的中央。

也謝謝大家。

2

創建水平/垂直視場的經理,然後將其設置爲中心。然後將editField添加到它。

EditField e=new EditField(label, initial value, max char limit, BasicEditField.FILTER_INTEGER); 
+0

顯示數字虛擬鍵盤很好。 但是,將其添加到水平字段管理器時,它不顯示在中心的字段。另請注意,我正在使用** OS 7/7.1 **。我已經使用HFM如下: 'Horizo​​ntalFieldManager hfmTxtNumber = new Horizo​​ntalFieldManager(NO_HORIZONTAL_SCROLL | Field.FIELD_HCENTER);' – AnkitRox

+0

更改爲Horizo​​ntalFieldManager hfmTxtNumber = new Horizo​​ntalFieldManager(Horizo​​ntalFieldManager.FIELD_HCENTER);然後嘗試。 – Signare

+0

這也不起作用。我能夠按照上面的代碼(使用RichTextField)使其居中,但當時它沒有顯示虛擬數字鍵盤。我也嘗試了不同的過濾方法,如TextFilter.Numeric等 – AnkitRox