Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

73 rader
2.1 KiB

  1. local MJRoomListItemView=MJFramework.MJImport("mj.luaScript.Views.Main.MJRoomListItemView")
  2. -- 主界面
  3. local MJRoomListView = class("MJRoomListView", cc.UIView)
  4. function MJRoomListView:ctor()
  5. MJRoomListView.super.ctor(self);
  6. local ui = loadUI("mj/res/ui/ui_dating/mj_room_list.ui");
  7. self.ui = ui;
  8. self:addChild(ui);
  9. end
  10. function MJRoomListView:onEnter()
  11. MJRoomListView.super.onEnter(self)
  12. self.ui.Items.Layout_Touch:registerClick(handler(self, self.onClickButtonClose))
  13. -- 请求房间列表
  14. self:bindEvent(app.hall , "onGetRoomListResponse" , handler(self , self.onGetRoomListResponse));
  15. self:requestRoomList()
  16. end
  17. function MJRoomListView:onClickButtonClose()
  18. self:removeFromParent()
  19. end
  20. function MJRoomListView:requestRoomList()
  21. app.hall:requestGetRoomList(app.gameId)
  22. end
  23. -- 房间获取结果
  24. function MJRoomListView:onGetRoomListResponse(data)
  25. local response = data.response
  26. local roomList = response.roomList
  27. if tolua.isnull(self.ui.Items.ScrollView) then
  28. return
  29. end
  30. if table.nums(roomList) > 0 then
  31. self:updateRoomList(roomList)
  32. elseif table.nums(roomList) == 0 then
  33. self.ui.Items.ScrollView:removeAllChildren()
  34. self.ui.Items.ScrollView:getInnerContainer():setAutoSize(true)
  35. self.ui.Items.ScrollView:jumpToTopOnSizeChanged()
  36. end
  37. end
  38. --刷新房间列表
  39. function MJRoomListView:updateRoomList(roomList)
  40. --------------------------------------------------
  41. --刷新的时候,屏蔽点击,刷新后开启。为了解决刷新的时候,控件正在被拉动,刷新后,位置错误的BUG
  42. self.ui.Items.ScrollView:setTouchEnabled(false)
  43. ---------------------------------------------------
  44. self.ui.Items.ScrollView:removeAllChildren()
  45. self.ui.Items.ScrollView:getInnerContainer():setAutoSize(true)
  46. for k,listInfo in ipairs(roomList) do
  47. local ui = MJRoomListItemView:new(listInfo)
  48. self.ui.Items.ScrollView:addChild(ui:getRoot())
  49. end
  50. self.ui.Items.ScrollView:jumpToTopOnSizeChanged()
  51. ------------------------------------------------
  52. self.ui.Items.ScrollView:setTouchEnabled(true)
  53. ------------------------------------------------
  54. end
  55. return MJRoomListView