/// <summary>
    /// セルの内容を更新します
    /// </summary>
    /// <param name="cell"></param>
    /// <param name="dataIndex"></param>
    void UpdateCellForIndex(FancyScrollViewCell <TData, TContext> cell, int dataIndex)
    {
        if (loop)
        {
            dataIndex = GetLoopIndex(dataIndex, cellData.Count);
        }
        else if (dataIndex < 0 || dataIndex > cellData.Count - 1)
        {
            // セルに対応するデータが存在しなければセルを表示しない
            cell.SetVisible(false);
            return;
        }

        cell.SetVisible(true);
        cell.DataIndex = dataIndex;
        cell.UpdateContent(cellData[dataIndex]);
    }
    /// <summary>
    /// Updates the cell.
    /// </summary>
    /// <param name="cell">Cell.</param>
    /// <param name="dataIndex">Data index.</param>
    /// <param name="forceUpdateContents">If set to <c>true</c> force update contents.</param>
    void UpdateCell(FancyScrollViewCell <TData, TContext> cell, int dataIndex, bool forceUpdateContents = false)
    {
        if (loop)
        {
            dataIndex = GetCircularIndex(dataIndex, cellData.Count);
        }
        else if (dataIndex < 0 || dataIndex > cellData.Count - 1)
        {
            // セルに対応するデータが存在しなければセルを表示しない
            //  cell.SetVisible(false);
            cell.SetVisible(true);
            return;
        }

        if (forceUpdateContents || cell.DataIndex != dataIndex || !cell.IsVisible)
        {
            cell.DataIndex = dataIndex;
            cell.SetVisible(true);
            cell.UpdateContent(cellData[dataIndex]);
        }
    }