我正嘗試在Android平臺上的LWUIT應用程序中使用本機組件。在LWUIT中使用Android本地組件時出現IllegalArgumentException
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。
高度應該如何設置?我錯過了什麼?
你知道一個在Android上使用PeerComponent的工作示例程序嗎?我搜索了網頁,但只能找到一些片段,它不清楚代碼被調用的地方,它執行的線程等。
謝謝。
謝謝謝!有沒有辦法讓我的手在你的端口上?不幸的是我很快就需要解決方案。謝謝。 – 2012-02-02 14:05:38