Hi Michael, I think that it's not possible that way.. once you switch between GridView and ListView, the SearchField loses focus (maybe force the focus with a Timer) and probably the keyboard.
solution 1: set the SearchField outside the views and switch only the view: Page { SearchField { id:sf } GridView { anchor.top: sf.bottom } ListView { anchor.top: sf.bottom } } solution 2: simulate the grid with a ListView with a Row : Page { ListView { property bool gridMode: sf.text == '' header: SearchField { id:sf } delegate: ListItem{ Row { visible: gridMode } Label { visible: !gridMode } } } } 2016-07-22 19:20 GMT+01:00 Michael Neufing <mich...@neufing.org>: > Thanks for the fast reply, Andrey! > Maybe I don't get the idea behind your suggestion, but I can't see how that > should help, because the reparenting is done dynamically during run-time, > not during creation-time. > > Br, > Michael > > > Am 22.07.2016 19:46, schrieb Andrey Kozhevnikov: >> >> Wrapping your list views into loader components can probably help you :) >> >> ------ Исходное сообщение ------ >> От: "Michael Neufing" <mich...@neufing.org> >> Кому: devel@lists.sailfishos.org >> Отправлено: 22.07.2016 23:43:41 >> Тема: [SailfishDevel] Use same header item instance in multiple views >> >>> Hi together! >>> >>> I am trying to use the same SearchField instance in multiple views as >>> header item. >>> When the page opens, a GridView is displayed with popular content. A >>> SearchField is used as header. >>> >>> When the user focuses and/or writes text into the search field, the page >>> should go into "search mode" where the GridView is hidden and a ListView >>> with the search results is displayed. >>> The goal is, that no screen space is wasted while scrolling. Therefore I >>> want to have the same SearchField as header on both views. >>> >>> I tried to add a placeholder item into both views with the same height as >>> the SearchField and reparent the SearchField according to the mode either >>> into the GridView or the ListView. >>> While that technically works (scrolling, etc), the SearchField loses it's >>> focus during that process and the user has to re-focus the field in order to >>> be able to type more text. >>> Even calling "forceActiveFocus()" or setting "focus = true" on the >>> SearchField after the reparenting does not work. >>> >>> Please see [1] for a code example. >>> >>> Can anybody help? I want to avoid that the SearchField is always visible >>> when scrolling. >>> >>> Thanks. >>> >>> Br, >>> Michael >>> >>> [1] http://pastebin.com/fhAdELHN >>> _______________________________________________ >>> SailfishOS.org Devel mailing list >>> To unsubscribe, please send a mail to >>> devel-unsubscr...@lists.sailfishos.org >> >> >> _______________________________________________ >> SailfishOS.org Devel mailing list >> To unsubscribe, please send a mail to >> devel-unsubscr...@lists.sailfishos.org > > _______________________________________________ > SailfishOS.org Devel mailing list > To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org -- Amilcar (djditz in the mix... ;) _______________________________________________ SailfishOS.org Devel mailing list To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org