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:width and height mustbe>0」が発生します。
問題をAndroidImplementation.PeerWrapper.getBuffer()の呼び出しまで追跡し、getWidth()とgetHeight()によって返される値はwidth=474とheight=0です。
高さはどのように設定されますか?私は何が欠けていますか?
AndroidでPeerComponentを使用する実用的なサンプルプログラムを知っていますか?Webを検索しましたが、コードがどこから呼び出されているか、どのスレッドで実行されているかなどが明確でないスニペットしか見つかりませんでした。
ありがとう。