From what happened to me last time was that the villagers inventory was full of other stuff so they weren't giving food to each other to breed, also if there are too many mobs in the area then you hit the mob cap and they can't fit in that chunk. Milo might be able to help more I remember him saying something about the doors having to be seen by the sunlight or something
Best method I found is the one you build on the ground, make a 3 by 3 farmland, then a water channel around that, on outside edge of water channel make a 2-high glass wall all around it, for the ceiling start 3 blocks high and make it 5 by 5 with glass and glow stone for lighting. Go back outside the glass wall straight out from the farm center, then dig a 3 block wide tunnel 7 blocks down, from there make 3 by 3 room going under the farm that is 2 blocks high. Place 6 doors on the 6 inner blocks under the farm. Place a piece of glowstone on the wall you dug down for lighting. Place a any villager type in the door room, and a farmer and any type in the farm above. Place 3 pieces of glass to cover the whole with the doors, and your done. There are many farm Addon types on YouTube to extract villagers from this structure. Enjoy!