2012-03-14 3 views
0

저는 BlackBerry (OS 6.0 이상)에 대한 첫 번째 응용 프로그램을 만들고 있는데 아래 그림과 같은 화면을 정의해야합니다. 나는 RichList에 대해 읽었지만 다른 구성 요소 아래에 추가 할 수 없습니다.BlackBerry에서 이러한 종류의 목록을 어떻게 얻을 수 있습니까?

What I'm trying to achieve

는 내가 원하는 넓은 ButtonField 아래 부분 (목록)입니다. 흰색 상자에는 이미지가 포함되어야하며 앞에있는 낙서에는 텍스트가 있어야합니다. 이 "목록 항목"은 동적으로 채워집니다.

이 부분은 RichList의 레이아웃과 매우 비슷하지만 구성 요소의 기본 컨테이너로 사용한 VerticalFieldManager에 추가 할 수 없습니다.

누군가이 스크린을 얻을 수 있다면 정말 감사합니다! 미리 감사드립니다.

+0

'ListField'는 어떻게 사용합니까? 이 답변을 확인할 수 있습니다 : http://stackoverflow.com/a/1881319/431639 – Rupak

+0

@Rupak 나는 그것을 체크 아웃 ..하지만 그 일을하는 효율적인 방법이 있습니까? ('이 응용 프로그램은 많은 행을 가질 수 있기 때문에'). 만족스런 대답을 얻지 못하면 그 일을 해결할 것입니다. – Roshnal

+0

큰 목록의 경우 효율성이 확실하지 않지만 행 항목을 포함하는 사용자 지정된 'VerticalFieldManager'를 사용하는 것보다 훨씬 효율적이고 효과적입니다. 또한 현재 선택된 행 정보를 사용하여 새 항목으로 목록을 채우고 목록에서 항목을 동적으로 삭제할 수 있습니다. 그래서 나는 이것이 동적 인 데이터 삭제/추가와 함께 사용될 수 있다고 생각한다. – Rupak

답변

2

ListFieldCallback을 구현하고 모든 메서드를 덮어 써야합니다. 거기에 "drawListRow"메서드가 표시됩니다. 이미지를 왼쪽에 그리고 텍스트를이 메소드의 인덱스에 현명하게 그려야합니다. 이렇게 : -

ListData ld = (ListData) rows.elementAt(index); 

      g.drawText(ld.name, 30+extraSpaceDelete, y 
      + (listItemHeight - g.getFont().getHeight())/2); 

    g.drawText(ld.address, 30+extraSpaceDelete, (y 
      + (listItemHeight - g.getFont().getHeight())/2)+(g.getFont().getAscent()+10)); 

    g.drawBitmap(0, y + listItemH - 3, Display.getWidth(), 3, 
      separator_line, 0, 0); 
+0

은 Ravi와 완전히 일치합니다 – rosco

+0

답변 해 주셔서 감사합니다! 지금 나는 이것을하는 방법을 알고있다. .. :) – Roshnal

관련 문제