2013-08-14 4 views
1

가끔 내 앱의 첫 번째 화면에 다음 오류가 표시됩니다.시작 앱 오류

java.lang.ArrayIndexOutOfBoundsException: 5 >= 5 
    at java.util.Vector.elementAt(Vector.java:427) 
    at com.sun.lwuit.Container.getComponentAt(Container.java:844) 
    at com.sun.lwuit.layouts.BoxLayout.getPreferredSize(BoxLayout.java:133) 
    at com.sun.lwuit.Container.calcPreferredSize(Container.java:1097) 
    at com.sun.lwuit.Component.preferredSize(Component.java:1431) 
    at com.sun.lwuit.Component.getPreferredSize(Component.java:473) 
    at com.sun.lwuit.Component.getPreferredH(Component.java:553) 
    at com.sun.lwuit.layouts.BoxLayout.layoutContainer(BoxLayout.java:84) 
    at com.sun.lwuit.Container.doLayout(Container.java:813) 
    at com.sun.lwuit.Container.layoutContainer(Container.java:805) 
    at com.sun.lwuit.Container.doLayout(Container.java:818) 
    at com.sun.lwuit.Form.sizeChangedInternal(+93) 
    at com.sun.lwuit.Display.handleEvent(Display.java:1654) 
    at com.sun.lwuit.Display.edtLoopImpl(Display.java:886) 
    at com.sun.lwuit.Display.mainEDTLoop(Display.java:831) 
    at com.sun.lwuit.RunnableWrapper.run(RunnableWrapper.java:119) 

그것은 응용 프로그램의 나머지 부분에 영향을주지 않지만이 경우, 그것은 내부의 오류 대화 상자가 나타납니다, 그리고 그것을 보여주고 싶지 않아요.

어떻게 이것을 피할 수 있습니까?

+0

첫 번째 화면의 코드를 표시 할 수 있습니까? 컨테이너 안의 여분의 아이템이나 컨테이너를 참조하는 것 같습니다. –

답변

2

이것은 LWUIT4S40 버그입니다. 스택은 매우 명확합니다. 자신의 코드에 익숙하지 않아서 버그가 무엇인지 말할 수는 없지만 제목 구성 요소 나 명령 구성 요소와 같은 것들을 혼란스럽게하고 자신의 고유 스레드에서 레이아웃을 변경하는 것으로 추측합니다.

코드가 스택에없고 스택이 EDT에 있으므로 사용자가 별도의 스레드 (예 : 시작 메소드)에서 UI를 수정하지 않는 한 명확해야합니다. Codename One에서이 코드는 내장 문자 인 EDT violation detector으로 쉽게 찾을 수 있지만 여기서 모든 코드를 검사하거나 Nokia의 도움을 받아야합니다.