Как отслеживать индекс в пользовательской ячейке списка, когда мы нажимаем внутри кнопки (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

0 ответов

Другие вопросы по тегам