Я пытаюсь использовать собственные компоненты в приложении LWUIT на платформе Android.IllegalArgumentException при использовании собственного компонента Android в LWUIT
private Component createNativeTextEdit() {
final Object[] result = new Object[1];
AndroidImplementation.runOnAndroidUIThreadAndWait(LWUITActivity.currentActivity, new Runnable() {
@Override
public void run() {
EditText nativeView = new EditText(LWUITActivity.currentActivity);
nativeView.setText("Type here..");
result[0] = PeerComponent.create(nativeView);
}
});
return (Component)result[0];
}
я затем поместить компонент внутри формы:
mMainForm = new Form();
mMainForm.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
mMainForm.addComponent(createNativeTextEdit());
mMainForm.show();
Тогда я получаю «IllegalArgumentException: ширина и высота должна быть> 0», когда система пытается привлечь новую форму.
Я проследил проблему до вызова AndroidImplementation.PeerWrapper.getBuffer() и значения, возвращаемые getWidth() и getHeight(), - width = 474 и height = 0.
Как высота должна быть установлена? Что мне не хватает?
Знаете ли вы, что рабочая программа для примера использует PeerComponent на Android? Я искал в Интернете, но мог найти только некоторые фрагменты, где неясно, откуда вызывается код, какой поток он выполняется и т. Д.
Спасибо.
Спасибо Shai! Есть ли способ, которым я могу взять свой карман в свой порт? К сожалению, мне нужно решение довольно скоро. Благодарю. –