generally speaking anything you want to adhere, you want to ruff up the adhesion area. This creates microscopic undercuts that allow a mechanical bond. If you have such a bond, it doesn't matter how completely nonstick a surface may be, it still adheres.
For foam, the best adhesive you can get is this 3M FoamFast 74 adhesive
though it's not cheap and a bit hard to obtain....
Oh wait, you mean vinyl fabric. You really gotta be specific with those sort of things. lots of different types of products are made from vinyl. What exactly are you trying to do? I suspect hotglue would be your easiest bet. But you'd probably still wanna consider poking small holes in your fabric to alllow the glue to seep through.