如何在Blackberry 10 native中获得listview位置

如何在Blackberry 10 native中获得listview位置,listview,qml,native,blackberry-10,listitem,Listview,Qml,Native,Blackberry 10,Listitem,我正在尝试将web服务中的数据加载到列表视图中,并成功地将该特定数据加载到列表视图中 但我面临的问题是,我在列表视图中每页获得10个数据,当用户向下滚动时,它试图加载更多数据,当它在列表视图中加载更多数据时,列表视图开始显示第一个数据本身的数据,而不是我想显示当前数据的第一个数据 例如,当用户滚动查看第2页的更多数据时,它将加载另外10个数据,现在列表视图包含20个数据,因此当前用户位于第10位,加载更多数据,所以列表视图应该从第11个数据开始显示,而不是从第1个数据本身开始显示,此外,当用户加

我正在尝试将web服务中的数据加载到列表视图中,并成功地将该特定数据加载到列表视图中

但我面临的问题是,我在列表视图中每页获得10个数据,当用户向下滚动时,它试图加载更多数据,当它在列表视图中加载更多数据时,列表视图开始显示第一个数据本身的数据,而不是我想显示当前数据的第一个数据

例如,当用户滚动查看第2页的更多数据时,它将加载另外10个数据,现在列表视图包含20个数据,因此当前用户位于第10位,加载更多数据,所以列表视图应该从第11个数据开始显示,而不是从第1个数据本身开始显示,此外,当用户加载30个数据时,它应该开始显示来自21个数据的数据,但它再次从第一个位置开始显示

所以基本上我的问题是如何知道列表项的位置,并直接将用户移动到那个特定的位置,以便用户可以直接看到当前数据

我正在尝试的代码是

onScrollingChanged: {
              if (atEnd && scrolling == false
                   if (_app.powerDivert == 1) {
                          _app.powerDivert += 1;
                    }
                    if (connInfo.isConnected()) {
                              getPagewisePromotionList(_app.powerDivert);
                    }
                 }
             }
其中powerDivert将增加页面计数和getPagewisePromotionList这是我正在调用的函数,用于将更多数据添加到列表视图中

我也试过了

  onFirstVisibleItemChanged: {
            if (position < firstVisibleItem) {
             console.log("Scrolling Down")
             var size = _app.dataModel.size();
             var percent = firstVisibleItem / size * 100;
             console.log("Percent: " + percent);
                  if (percent > 60) {
                            if (_app.powerDivert == 1) {
                            _app.powerDivert += 1;
                           }
                           if (connInfo.isConnected()) {
                               console.log("inside percentage");
                               getPagewisePromotionList(_app.powerDivert);
                           }
                       }
                      } else if (position > firstVisibleItem) {
                       console.log("Scrolling Up");
                    }
                   position = parseInt(firstVisibleItem);
                }
但它给我的错误就像

Error: Accessing ListItem.indexInSection on a node that is not the root node in a list item visual. Try prefixing with the id of the item visual root node.
Error: Accessing ListItem.indexPath on a node that is not the root node in a list item visual. Try prefixing with the id of the item visual root node.
如果你还需要什么,请告诉我


提前谢谢。

这取决于您。您是如何从服务加载数据的。如果您正在获取数据页,则可以使用以下方法:

var indexPosition = (_app.powerDivert - 1) * 10;
lstPromotionListOnline.scrollToItem([ indexPosition ], ScrollAnimation.None);
其中powerdivert是您的页码 lstPromotionListOnline是您的listview id

请检查此项以供参考

var indexPosition = (_app.powerDivert - 1) * 10;
lstPromotionListOnline.scrollToItem([ indexPosition ], ScrollAnimation.None);