我是 iOS 背景,所以我将给出 iOS 中 UITableView 的示例。
在表格视图中,当我们为我们的应用程序创建自定义单元格时,我们通过在每个视图(包括按钮)上放置“TAG”来获取子视图。通过单击任何 UIButton 即可轻松获得“行索引”。
意思是假设我们有一个自定义列表,其中包括许多标签、图像和按钮。我们可以通过单击标签和图像来跟踪特定的单元格,但是当我们单击按钮时,它不会给我们该单元格的索引,直到我们使用一些技术来处理这个问题并且大多数程序员使用标记来跟踪单元格内的视图。
现在我的问题是“我想对 BLACKBERRY 10 LISTVIEW 做同样的事情”。
在我的情况下,我有一个列表视图,单击它会打开与该单元格相关的特定视图。当我在除 Button 之外的所有位置单击单元格时,一切都运行良好。
如何在单击按钮时跟踪该单元格的索引。因为使用索引我必须从 dataModel 中选择值。
如果我能说出我的问题,请告诉我
编辑:
这是我的代码
我将我的列表视图定义为
ListView {
translationY: 130
dataModel: dataModelList
listItemComponents: [
ListItemComponent {
type: "item"
Chekdata {
}
}
]
onTriggered: {
var showDetail = productDetailPageID.createObject();
showDetail.myProfileData=dataModel.data(indexPath);
navigationPane.push(showDetail);
console.log(dataModel.data(indexPath)["cat_name"]);
}
}
Chekdata.qml 是这样的
import bb.cascades 1.0
import org.labsquare 1.0
Container {
preferredHeight: 600
preferredWidth: 768
layout: AbsoluteLayout {
}
WebImageView {
id: img
url: ListItemData.offer_image
preferredWidth: 610
translationY: 70.0
translationX: 70.0
preferredHeight: 250
}
Label {
text:ListItemData.member_id
translationY: 320.0
translationX: 70.0
}
Label {
text: ListItemData.offer_type
translationX: 70
translationY: 350
}
Label {
text: "Category:"
translationY: 400
translationX: 70
textStyle.fontSize: FontSize.XSmall
}
Label {
text: ListItemData.cat_name
translationY: 400
translationX: 210
textStyle.fontSize: FontSize.XSmall
}
Label {
text: "Offer Added Date:"
translationY: 440
translationX: 70
textStyle.fontSize: FontSize.XXSmall
}
Label {
text: ListItemData.date_start
translationY: 440
translationX: 250
textStyle.fontSize: FontSize.XXSmall
}
Label {
text: ListItemData.discount
translationY: 480
translationX: 70
}
Label {
text: "coupon Left :"
translationX: 400
translationY: 320
textStyle.fontSize: FontSize.XSmall
}
Label {
text: ListItemData.coupon_code
translationX: 570
translationY: 325
textStyle.fontSize: FontSize.XXSmall
}
Label {
text: "Location:"
translationX: 400
translationY: 360
textStyle.fontSize: FontSize.XSmall
}
Label {
text: ListItemData.location
translationX: 520
translationY: 360
textStyle.fontSize: FontSize.XSmall
}
Label {
text: "offer Expires :"
translationX: 400
translationY: 400
textStyle.fontSize: FontSize.XXSmall
}
Label {
text: ListItemData.date_end
translationX: 540
translationY: 400
textStyle.fontSize: FontSize.XXSmall
}
ImageButton {
defaultImageSource: "asset:///images/BlueNoseBig.png"
preferredHeight: 60
preferredWidth: 150
translationX: 500
translationY: 470.0
}
}
主要有 Webimageview、label 和 ImageButton 三个元素。您可以在上面的代码中看到 onTrigger 函数。当我单击 ImageButton 时不会调用此函数