2014-04-11 3 views
2

사용자에게 일부 메시지를 표시하기 위해 listview를 사용 중이며 화면에 표시 될 때 해당 메시지를 읽음으로 표시하려고합니다. 그렇게하기 위해서, 나는 그들이 표시되었는지 아닌지 알 필요가있다. 그렇게 할 수 있습니까? 나는 firstvisibleItem()에 대해 안다. 그러나 메시지의 높이는 정적이 아니기 때문에 그 해결책은 내 문제를 해결하지 않을 것이다.Blackberry 10 Cascades ListView 표시 항목

아이디어가 있으십니까?

고마워요.

답변

0

이전에 블랙 베리에서 작업하지 않았지만 QML로 작업합니다. 귀하의 질문에 대한 이해를 바탕으로 읽지 않은 메시지를 읽지 않은 메시지와 차별화해야합니다. 가장 먼저 생각해 볼 점은 특정 인덱스의 델리게이트가 열린 경우 델리게이트에서 설정할 수있는 플래그를 List 모델에 만드는 것입니다. 내가 무슨 뜻인지 알기를 바랍니다.

+1

안녕하세요! 답변 해주셔서 감사합니다. 캐스케이드 프레임 워크 (BB10에서 사용)의 목록보기에는 대리인이 없다고 생각합니다 (http://developer.blackberry.com/native/reference/cascades/bb__cascades__listview.html). 위에서 말했듯이 요소가 listview에 표시되면 메시지가 읽혀집니다. 나는 그 순간을 가로 챌 필요가있다! JS에서 뭔가를 생각하고있었습니다. 항목이 화면에 표시 될 때 트리거 될 수있는 기능입니다. 도움 주셔서 감사합니다. –

0

ListView를 사용하여이 작업을 수행 할 수 있는지 여부를 알 수 없습니다. 매우 긴 목록을 효율적으로 처리하기 위해 설계된 것으로 표시되거나 표시되지 않은 항목을 반드시 추적하지는 않습니다.

  1. 리스트 뷰 목록과 관련된 렌더링 가능한 객체에 대해 호출 할 때 추적하기 위해 ListItemProvider를 사용 : 나는이 문제를 해결하기 위해 노력 경우에 보일 것 세 가지 방법이 있습니다. ListView는 실제로 화면에있는 항목의 시각적 항목을 이전 및 이후의 항목에 유지하기 때문에 아마 잘 작동하지 않을 것입니다.

  2. ListItemTypeMapper를 사용하십시오. ListItemProvider에 대한 동일한 주석.

  3. LayoutUpdateHandler를 사용하십시오. 나는 이들을 사용하여 내 사용자 정의 컨트롤이 얼마나 큰지 그리고 얼마나 큰지 알아 냈습니다. 나는 ListView에서 이들을 사용한 적이 없으므로, 컨트롤이 스크롤 될 때와 스크롤되지 않을 때를 알기 위해 신호가 적절한 시간에 시작되는지는 알 수 없다.