Как отслеживать индекс в пользовательской ячейке списка, когда мы нажимаем внутри кнопки (QML)
Я из iOS, поэтому приведу пример UITableView в iOS.
в табличном представлении, когда мы создаем пользовательскую ячейку для нашего приложения, мы получаем дочернее представление, помещая "TAG" в каждое представление, включая кнопки. и становится легко получить "INDEX OF ROW", нажав на любую кнопку UIB.
значит, у нас есть собственный список, который включает в себя множество меток, изображений и кнопок. мы можем отслеживать конкретную ячейку, нажимая на метку и изображения, но когда мы нажимаем на кнопку, она не дает нам индекс этой ячейки, пока мы не используем какую-то технику для обработки этого, и в основном программисты используют теги для отслеживания представления внутри ячейки.
Теперь мой вопрос: "ЖЕ ХОЧУ ДЕЛАТЬ С BLACKBERRY 10 LISTVIEW" .
В моей ситуации у меня есть представление списка, и при щелчке открывается конкретный вид, связанный с этой ячейкой. все работает нормально, когда я нажимаю на ячейку везде, кроме кнопки.
Как я могу отслеживать индекс этой ячейки при нажатии на кнопку. потому что с помощью индекса я должен выбрать значение из 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