如何在Blackberry 10 native中获得listview位置
我正在尝试将web服务中的数据加载到列表视图中,并成功地将该特定数据加载到列表视图中 但我面临的问题是,我在列表视图中每页获得10个数据,当用户向下滚动时,它试图加载更多数据,当它在列表视图中加载更多数据时,列表视图开始显示第一个数据本身的数据,而不是我想显示当前数据的第一个数据 例如,当用户滚动查看第2页的更多数据时,它将加载另外10个数据,现在列表视图包含20个数据,因此当前用户位于第10位,加载更多数据,所以列表视图应该从第11个数据开始显示,而不是从第1个数据本身开始显示,此外,当用户加载30个数据时,它应该开始显示来自21个数据的数据,但它再次从第一个位置开始显示 所以基本上我的问题是如何知道列表项的位置,并直接将用户移动到那个特定的位置,以便用户可以直接看到当前数据 我正在尝试的代码是如何在Blackberry 10 native中获得listview位置,listview,qml,native,blackberry-10,listitem,Listview,Qml,Native,Blackberry 10,Listitem,我正在尝试将web服务中的数据加载到列表视图中,并成功地将该特定数据加载到列表视图中 但我面临的问题是,我在列表视图中每页获得10个数据,当用户向下滚动时,它试图加载更多数据,当它在列表视图中加载更多数据时,列表视图开始显示第一个数据本身的数据,而不是我想显示当前数据的第一个数据 例如,当用户滚动查看第2页的更多数据时,它将加载另外10个数据,现在列表视图包含20个数据,因此当前用户位于第10位,加载更多数据,所以列表视图应该从第11个数据开始显示,而不是从第1个数据本身开始显示,此外,当用户加
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);