Find the Best Demos and Examples

Check out this quick tour to find the best demos and examples for you, and to see how the Felgo SDK can help you to develop your next app or game!

Forums

OverviewFelgo 2 Support (Qt 5) › Felgo QML : onItemSelected of ListPage is never called

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #20069

    Alex Tekeuf

    Hi everybody!
    I’m new in Felgo, and I’m trying to do a simple thing : Display a list and open a page when an item of the list is clicked.

    Here is my code, in one page :

    import Felgo 3.0
    import QtQuick 2.0
    App {    
        Component { id: pageComponent; Page { } }
        NavigationStack {
            ListPage {
                title: qsTr("Test")
                id: testListPage
                activeFocusOnTab: false
                listView.emptyText.text: qsTr("Empty list")
                model: [
                    {text: "Text 1", detailText: "Detail text 1", icon: IconType.android},
                    {text: "Text 2", detailText: "Detail text 2", icon: IconType.android},
                    {text: "Text 3", detailText: "Detail text 3", icon: IconType.android},
                    {text: "Text 4", detailText: "Detail text 4", icon: IconType.android},
                    {text: "Text 5", detailText: "Detail text 5", icon: IconType.android}
                ]
                onItemSelected: {
                    navigationStack.push(pageComponent, { title: item.text, rightBarItem: null })
                }
                delegate: SimpleRow { }
            }
        }
    }

     

    The list is displayed well but Nothing happen when I click on an item. And when I try to debug it, I never break into the onItemSelected function.
    I might miss Something but I really Don’t know what…
    Thanks in advance!
    Alexis.

    #20072

    filipeagg

    Maybe you already solved this, but just in case…

     

     

    You have two options, one of them is simply not overriding the default delegate. As stated in their docs:
    itemSelected(int = index, var = item)

    This convenience handler gets called when a row within the contained listView was selected.

    Note: This is only called if the delegate is not overridden by a custom delegate.

     

    Since the default delegate is already a SimpleRow, you could just delete the delegate line in your code.

     

    The other one is using onSelected inside SimpleRow in case you want more customization of your delegate:

    delegate: SimpleRow{
      onSelected: navigationStack.push(pageComponent, { title: modelData.text, rightBarItem: null })
    }
    #20080

    Alex Tekeuf

    Thanks a lot it worked!!! 🙂

Viewing 3 posts - 1 through 3 (of 3 total)

RSS feed for this thread

You must be logged in to reply to this topic.