Что я пытаюсь сделать, так это просто изменить высоту EditField. Это звучит довольно легко, но я столкнулся с проблемой, которая сводит меня с ума. Вот мой код:Blackberry EditField - изменение высоты не работает
public class CMainManager extends HorizontalFieldManager
{
EditField mtxt=new EditField(EditField.FOCUSABLE | EditField.FILTER_DEFAULT);
/* Constructeur */
public CMainManager()
{
add(mtxt);
}
public int getPreferredHeight()
{
return Display.getHeight();
}
public int getPreferredWidth()
{
return Display.getWidth();
}
protected void sublayout(int width, int height)
{
layoutChild(mtxt, 50, 500);
setPositionChild(mtxt, 0, 10);
mtxt.setBackground(
BackgroundFactory.createSolidBackground(0x000000FF));
setExtent(width, height);
}
}
Линия layoutChild (mtxt, 50, 500); должен установить ширину и высоту моего EditField. Это происходит, но только с шириной. Высота постоянна. Если я устанавливаю его на 500, то получаю тот же результат, как если бы я установил его на 10.
Любая идея о том, что мне не хватает? потому что я уверен, что это глупая ошибка, что я делаю ...
Благодаря
== редактировать
После jproffit помощи, я понял, что я сделал неправильно. Однако теперь, когда он работает (я могу установить высоту), у меня есть другая проблема. Вот я код:
private EditField m_Txt=new EditField(EditField.FOCUSABLE |
EditField.FILTER_DEFAULT) {
protected void layout(int width, int height)
{
setExtent(Display.getWidth(), m_TxtHeight);
}
public boolean isFocusable()
{
return true;
}
protected void onFocus(int direction)
{
super.onFocus(direction);
invalidate();
}
protected void onUnfocus() {
super.onUnfocus();
invalidate();
}
};
С помощью этого кода я не могу правильно управлять фокусом. Что я забыл? Я не вижу курсора в своем поле.
Любая идея?
Благодаря
Спасибо большое! Как новичок в SDK BlackBerry, я должен сказать, что я в замешательстве. Спасибо – Vincent
Рад, что я мог помочь! – jprofitt
Я отредактировал свой вопрос, потому что я столкнулся с другой проблемой из-за исправления. Есть идеи ? Благодарю. – Vincent