Forum Discussion

haamro's avatar
haamro
Visitor
8 years ago

Handling Back Button in Multi-level Screen

Hello everyone, I am working on Multi-level screen. Based on the data from XML, my ROKU app either displays the folder or the video file. The folder can have another folder as well as video files in it. The following code works great

my init()
  m.UriHandler  = createObject("roSGNode","UriHandler")
  url = "http://example/file.xml"
  makeRequest({}, url, "GET", 0, "")
  m.UriHandler.observeField("content","onContentSet")
  m.RegistryTask.observeField("result","onReadFinished")


sub onRowItemSelected(event as object)
print "onRowItemSelected"
  m.array = m.HomeScreen.rowItemSelected
  node = m.HomeRow.content.getchild(m.array[0]).getchild(m.array[1])
  m.UriHandler.category = node.title
  print  m.UriHandler.cache.hasField(m.UriHandler.category)
  isFolder= node.isFolder
  title=node.title
  print title
  m.UriHandler.contentSet = false
      if isFolder="Yes" ' Now we need to load more folders from the XML which is loaded on node.storedURL
        url=node.storedURL
        m.baseURL=url
        makeRequest({}, url, "GET", 0, title)
        m.UriHandler.observeField("content","onContentSet")
        m.RegistryTask.observeField("result","onReadFinished")
    
      else if isFolder="No"
        print "now this is file, we need to play it"
      end if

end sub


How do I work with Back Button, so that it takes me 1 level up. and when it reaches home screen it should exit the app. ?

thank you
  • you should be able to add onKeyEvent function to your pages to catch and handle back clicks.
    hope it may help.
  • "joetesta" wrote:
    you should be able to add onKeyEvent function to your pages to catch and handle back clicks.
    hope it may help.

    I am a novice on this. Would you mind explaining with little more detail, may be with code ?
    Thanx
  • "haamro" wrote:
    I am a novice on this. Would you mind explaining with little more detail, may be with code ?
    Thanx

    The OnKeyEvent() function is in most scenegraph examples I've seen. The best thing would be to first look at those and see where and how that function is used.