当前位置: 代码迷 >> 综合 >> 相册浏览时,浏览到最后一张,不能返回到第一张循环浏览
  详细解决方案

相册浏览时,浏览到最后一张,不能返回到第一张循环浏览

热度:80   发布时间:2024-01-19 18:48:13.0
1 VfxBool VappGalleryViewerPage::canGoNext()
{
    if(!m_mediaList)
    {
        return VFX_FALSE;
    }
//hsz start添加如下代码
if((m_currentIndex + 1) >= m_mediaList->getMediaCountInGroup(0))
{
m_currentIndex = -1;
}
//hsz end
    return VfxBool((m_currentIndex + 1) < m_mediaList->getMediaCountInGroup(0));
}
2 VfxBool VappGalleryViewerPage::canGoPrevious()
{
    if(!m_mediaList)
    {
        return VFX_FALSE;
    }
    if(m_currentIndex > 0 && m_mediaList->getMediaCountInGroup(0) > 0)
    {
        return VFX_TRUE;
    }
    else
    {
        //hsz start添加如下代码
        m_currentIndex = m_mediaList->getMediaCountInGroup(0) - 1;
        return VFX_TRUE;
        //hsz end
       // return VFX_FALSE;//删除此语句
    }
}
3 MediaIndex VappGalleryViewerPage::getNextIndex()const
{
    if(NULL == m_mediaList)
    {
        return 0;
    }
    //hsz start添加如下代码
    if(m_currentIndex == m_mediaList->getMediaCountInGroup(0) - 1)
        {
        return 0;
        }
    else
        {
        return vfxMin(m_mediaList->getMediaCountInGroup(0) - 1, m_currentIndex + 1);
        }
    //hsz end
//删除如下语句
   // return vfxMin(m_mediaList->getMediaCountInGroup(0) - 1, m_currentIndex + 1);
}
4 MediaIndex VappGalleryViewerPage::getPrevIndex()const
{
//hsz start添加如下代码
    if(m_currentIndex == 0)
        {
           return m_mediaList->getMediaCountInGroup(0) - 1;
        }
    else
        {
            return vfxMax(0, m_currentIndex - 1);
        }
    //hsz end
    //return vfxMax(0, m_currentIndex - 1);//删除此语句
}        
  相关解决方案