当前位置:网站首页>Listview pull-down loading function

Listview pull-down loading function

2022-07-05 04:56:00 Meteor spot

function LoginScene:init()

    self._index = {1,2,3,4,5,6,7,8} -- Set the test text displayed

    self._index_len_init = 1  -- Join in listview The initial index of
    self._index_len_end = #self._index -- Join in listview End index of , The purpose is to prevent repeated loading , If you have already loaded, skip loading directly
    self.listView = List.create(cc.size(ls.w(self)-20, ls.h(self) - 80), ccui.ListViewDirection.vertical, 20, 0)
    self.listView:setAnchorPoint(cc.p(0.5,0.5))
    self.listView:setBounceEnabled(true)
    self.listView:setDirection(ccui.ListViewDirection.horizontal)  -- Set horizontal arrangement
    ls.addChild2Pos(self, self.listView, cc.p(ls.w(self) / 2, ls.h(self) / 2-35))

    self.isEnd = false; -- test , Judge that the bottom is called only once
   
    self:refreshGoodList(self._index)
end
function LoginScene:refreshGoodList(_index)
    -- self.listView:removeAllItems()
     self.listView:setBackGroundColorType(1)
     self.listView:setBackGroundColor(cc.c3b(0,123,0))
     local function listViewEvent(sender, eventType)
         -- The event type is click to end
         print("eventType=",eventType)
         if eventType == ccui.ListViewEventType.ONSELECTEDITEM_END then
             print("select child index = ",sender:getCurSelectedIndex())
         end
     end

     -- Set up ListView The monitoring event of
     self.listView:addEventListener(listViewEvent)

    -- Scroll event method callback
  
    local function scrollViewEvent(sender, eventType)    
        if eventType == ccui.ScrollviewEventType.scrollToBottom then
        elseif eventType == ccui.ScrollviewEventType.scrolling then

        elseif eventType == ccui.ScrollviewEventType.bounceBottom then-- Scroll to the bottom
            if self.isEnd == true  then return end

            print("qing qiu geng xin ")

            self._index_len_init = self._index_len_end

            for  i =1, 10 do

                table.insert(self._index , i)

            end
            
        self:refreshGoodList(self._index)

            self.isEnd = true
    elseif eventType == ccui.ScrollviewEventType.scrollToRight then  -- Slide to the far right

            if self.isEnd == true  then return end

            print("qing qiu geng xin ")

            self._index_len_init = self._index_len_end

            for  i =1, 10 do

                table.insert(self._index , i)

            end

            self:refreshGoodList(self._index)

            self.isEnd = true
        end

    end

    self._index_len_end=#_index

    self.listView:addScrollViewEventListener(scrollViewEvent)

    for i  =self._index_len_init, self._index_len_end do
        local labelContent = cc.Label:createWithTTF(_index[i], App.TTF_FONT, 40, cc.size(ls.w(self)-20, 0), cc.TEXT_ALIGNMENT_LEFT)
        labelContent:setAnchorPoint(cc.p(0,1))
        labelContent:setColor(cc.c3b(255,0,0))
        local item = ccui.Layout:create()
        item:setContentSize(cc.size(200,50))
        ls.addChild2Pos(item, labelContent , cc.p(10,ls.h(item)+10 ))
        self.listView:pushBackCustomItem(item) 
    end


end


 

原网站

版权声明
本文为[Meteor spot]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202140625238266.html