Forum Discussion

1024Tech's avatar
1024Tech
Visitor
14 years ago

Little help needed on the roSearchScreen

Hi everyone,

I am trying to implement roku search functionality using the suggestions from the component reference guide and this post( http://forums.roku.com/viewtopic.php?f=34&t=30099&p=184075&hilit=rosearchscreen#p184075) by roku team.

I was able to retrive the searchresults from the server, parse it in to roArray. But I am not able to get to display them on the 'roPosterScreen'. I am not sure why the posterscreen is not displaying. Below is the code i am using.

Could anybody shed some light on this as I am stuck here forever trying to figure out what is preventing 'roPosterScreen' from being displayed?


function GenerateSearchResults(partSearchText As String, screen As Object)
posterScreen = preShowPosterScreen("Search", "")
searchResults=getShowsBySearch(partSearchText)
showPosterScreenForSearch(posterScreen, searchResults)
End function

Function showPosterScreenForSearch(screen As Object, searchResults As Object) As Integer
if validateParam(screen, "roPosterScreen", "showPosterScreenForSearch") = false return -1
if validateParam(searchResults, "roArray", "showPosterScreenForSearch") = false return -1
'printList(searchResults)
screen.SetContentList(searchResults)
screen.Show()
End function

6 Replies

  • Are you sure getShowsBySearch is returning a valid content list?
  • "belltown" wrote:
    Are you sure getShowsBySearch is returning a valid content list?

    Thanks for your reply #belltown.
    Yes! I am getting a 'roArray' of showList on calling getShowsBySearch(searchtext) method.
    I was able to print the showlist using PrintList() utility in the video player example.
  • Can you post an example of the output you got when you printed the list?
  • "belltown" wrote:
    Can you post an example of the output you got when you printed the list?


    Belltown, Below is the List with 2 items in it....

    FYI,I checked the lists that i set as content to the roPosterScreen at other places my applications. They format looks same the one I posted below.


    ---- list ----
    List(0)= (assocarr)...
    starrating: 90
    hdbifurl:
    shortdescriptionline2:
    shortdescriptionline1: ItemName
    contentid: 24
    sdbifurl:
    categories: (list of 1)...
    List(0)=
    sdposterurl: PosterURL
    description: DescriptionHere
    ishd: false
    genre:
    hdimg: HDImageURL
    streamformat: hls
    contentquality: SD
    streamurls: (list of 1)...
    List(0)= http://StreamingURL.mp4
    synopsis: Synpisi
    streamqualities: (list of 1)...
    List(0)= SD
    runtime:
    sdimg: SDImageURL
    streambitrates: (list of 1)...
    List(0)= 250
    hdposterurl:HDPosterURL
    title: ItemName
    songsfeed:
    contenttype: episode
    hdbranded: false
    actors: (list of 1)...
    List(0)=


    List(1)= (assocarr)...
    starrating: 90
    hdbifurl:
    shortdescriptionline2:
    shortdescriptionline1: ItemName2
    contentid: 107
    sdbifurl:
    categories: (list of 1)...
    List(0)=
    sdposterurl: SDPOsterURL
    description: DescriptionHere
    ishd: false
    genre:
    hdimg:HDImageURL
    streamformat: hls
    contentquality: SD
    streamurls: (list of 1)...
    List(0)= StreamingURL.mp4
    synopsis: Synopsis
    streamqualities: (list of 1)...
    List(0)= SD
    runtime:
    sdimg: SDImageURL
    streambitrates: (list of 1)...
    List(0)= 250
    hdposterurl: HDPosterURL
    title: Itemname
    songsfeed:
    contenttype: episode
    hdbranded: false
    actors: (list of 1)...
    List(0)=
    --------------
  • #Belltown,

    Looks the there is some issue with my preShowPosterScreen() method.


    I tried to isolate the code to display the roPosterScreen and it worked for me.
    The following code worked for me. I sincerely appreciate your time and help. Thanks a lot.
    I will post once i figure out the actual issue.


    port1=CreateObject("roMessagePort")
    screen1 = CreateObject("roPosterScreen")
    screen1.SetMessagePort(port1)
    screen1.showmessage("Retrieving")
    screen1.SetListStyle("arced-landscape")

    searchSuggestions1 = GenerateSearchSuggestions(fullResult, screen)
    screen1.SetContentList(searchSuggestions1)
    screen1.Show()
  • I think you might need:

    screen1.ClearMessage ()


    after the call to SetContentList