2012-06-18 2 views
0

의도 한 대상 OS5 +가있는 블랙 베리 앱을 만들고 있습니다.왜 목록의 마지막 줄이 끊어 졌습니까?

웹 서비스에서 가져온 데이터를 표시하는 GridFieldManager를 만들고 있습니다. 데이터의 두 번째 열은 종종 여러 줄이므로 표준보다 더 큰 줄을 설정합니다.

//Creation and property settings 

GridFieldManager myGrid = new GridFieldManager(myScreenData.getSpese().size(), 3, GridFieldManager.USE_ALL_WIDTH|GridFieldManager.VERTICAL_SCROLL); 
     myGrid.setColumnProperty(0,GridFieldManager.AUTO_SIZE, Display.getWidth()/3); 
     myGrid.setColumnProperty(1,GridFieldManager.AUTO_SIZE, Display.getWidth()/3); 

     myGrid.setColumnProperty(2,GridFieldManager.AUTO_SIZE, Display.getWidth()/3); 
     myGrid.setRowPadding(3); 
     myGrid.setMargin(3,0,3,0); 
     for(int i=1;i<myScreenData.getSpese().size()-1;i++){ 
      myGrid.setRowProperty(i, GridFieldManager.FIXED_SIZE, getFont().getHeight()*3); 
     } 

//title population 
     myGrid.insert(new LabelField("DATA"), 0,FIELD_LEFT); 
     myGrid.insert(new LabelField("CAUSALE"), 1,FIELD_LEFT); 
     myGrid.insert(new LabelField("IMPORTO"), 2,FIELD_LEFT); 
//Data population  
     for (int i=0;i<myScreenData.getSpese().size()-1;i++){ 
      System.out.println("aggiungo "+i+" di "+(myScreenData.getSpese().size()-1)); 
      SpesaDateAsString mySpesa = (SpesaDateAsString)myScreenData.getSpese().elementAt(i); 
      myGrid.insert(new LabelField(mySpesa.getData(),LabelField.FIELD_LEFT|LabelField.FOCUSABLE),0+((i+1)*3),FIELD_LEFT); 
      myGrid.insert(new LabelField(mySpesa.getCausale(),LabelField.FIELD_LEFT|LabelField.FIELD_VCENTER),1+((i+1)*3),FIELD_LEFT); 
      myGrid.insert(new LabelField(mySpesa.getImporto(),LabelField.FIELD_LEFT),2+((i+1)*3),FIELD_LEFT); 


     } 
     System.out.println("aggiungo la tabella"); 
     result.add(myGrid); 

여기서 문제는 목록의 마지막 줄이을 잘라 도착한다는 것입니다 : 이것은 내 GridFieldManager 코드입니다.

blackberry storm simulator screenshot

사람이 무엇을 알고 있나요 : 여기에 스크린 샷입니까? 왜 이런 일이 일어나는 걸까요?

필자는 행 속성 (고정, 자동, 선호 ... 등) 및 패딩과 여백의 가능한 모든 조합에 대해 가능한 모든 매개 변수 조합을 시도했습니다. 누구든지이 문제를 해결하는 방법을 알고 있습니까?

+0

이어야합니다. 여기서 스크린 샷은 무엇입니까? – Signare

+0

이 편집되면 어떻게 든 이미지 링크가 표시되지 않으므로 다시 추가했습니다. – Th0rndike

답변

1

나는 문제는이 라인에 생각 :

for (int i=0;i<myScreenData.getSpese().size()-1;i++){ 

한도가 myScreenData.getSpese().size()-1하고 테스트 < 엄격한 왜

? 작거나 같은 연산자를 사용하거나 한도는 myScreenData.getSpese().size()

+0

나는 그것을 지금 시도 할 것이다. 당신은 바른 길일 것입니다. (se è questo mi sparo!) – Th0rndike

+0

행운을 빌어 요! (D 조) –

+0

좋은 니스! (grazie mille, da giorni ci scombattevo!) – Th0rndike

관련 문제